ASP.NET:把ashx写到类库里并在页面上调用的具体方法

将ashx写到类库( Class library )里并在页面上调用的具体方法, 可以带来代码可维护性和代码的可重用性,并且能够更好地分离底层实现和上层( Presentation layer )代码。

下面是具体的步骤:

  1. 创建 ASP.NET 类库项目

首先,我们需要做的就是创建一个 ASP.NET 类库项目。我们可以在 Visual Studio 中选择“新建项目”,然后选择“ASP.NET Web 应用程序”中的“类库”选项。

  1. 添加ASHX文件

在类库项目中添加一个新的ASHX文件。为了方便起见,让我们将文件命名为 HelloWorld.ashx。

在 HelloWorld.ashx 文件中编写我们要执行的代码。我们可以使用 HTML、JavaScript 和 C# 等语言创建这个处理程序(Handler)。

下面是一个 HelloWorld.ashx 的示例:

<%@ WebHandler Language="C#" Class="HelloWorld" %>

using System;
using System.Web;

public class HelloWorld : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World");
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}
  1. 编译类库项目

在 HelloWorld.ashx 文件中编写好代码后,就需要编译类库项目,以便在 Web 应用程序项目中使用它。

您可以使用 Visual Studio 中的“生成”选项来编译项目。

  1. 在Web项目中引用类库

引用类库非常简单,只需要在 Web 应用程序项目中添加对类库项目的引用即可。

在您的 Web 应用程序项目中,右键单击“引用”文件夹并选择“添加引用”,找到之前创建的类库项目并添加它。

  1. 在 Web 应用程序项目中调用 HelloWorld.ashx

现在,我们已经可以在 Web 应用程序项目中调用 HelloWorld.ashx。在您的 ASP.NET 页面或任何其他地方,只需要使用以下代码即可启动处理程序:

var request = WebRequest.Create("http://example.com/HelloWorld.ashx");
string responseFromServer;
using (var response = (HttpWebResponse)request.GetResponse())
{
    using (var responseStream = response.GetResponseStream())
    {
        using (var reader = new StreamReader(responseStream))
        {
            responseFromServer = reader.ReadToEnd();
        }
    }
}

Console.WriteLine(responseFromServer);

这段代码会向 HelloWorld.ashx 发送 HTTP 请求并获取返回的文本。这里,我们只是在控制台打印返回的文本,但您可以在您的 Web 应用程序中使用它。

如果您想在 ASP.NET 的页面上加载 HelloWorld.ashx,可以这样:

<%@ Page Language="C#" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <iframe src="http://example.com/HelloWorld.ashx" width="200" height="200"></iframe>
</body>
</html>

这里,我们使用 iframe 标签将 HelloWorld.ashx 嵌入到页面中。

以上就是将ashx写到类库里并在页面上调用的具体方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET:把ashx写到类库里并在页面上调用的具体方法 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 记一次 .NET 某设备监控系统 死锁分析

    一:背景 1. 讲故事 上周看了一位训练营朋友的dump,据朋友说他的程序卡死了,看完之后发现是一例经典的死锁问题,蛮有意思,这个案例算是学习 .NET高级调试 入门级的案例,这里和大家分享一下。 二:WinDbg 分析 1. 程序为什么会卡死 因为是窗体程序,所以看主线程的线程栈就好了,如果卡在 用户态 那这个问题相对容易解决,如果卡在 内核态 这个问题就…

    C# 2023年4月18日
    00
  • C#获取数组中最大最小值的方法

    当我们需要在C#中获取数组中最大最小值时,有多种方法可以实现。下面是其中两种常用的方法: 方法一:使用LINQ拓展方法 使用LINQ拓展方法中的Max()和Min()可以方便地获取数组中的最大值和最小值。下面是获取最大值和最小值的示例代码: int[] array = { 10, 20, 30, 5, 15 }; int max = array.Max();…

    C# 2023年6月7日
    00
  • .Net(c#)汉字和Unicode编码互相转换实例

    .Net(c#)汉字和Unicode编码互相转换实例 在 .Net(c#) 中,我们可以很方便地进行汉字和 Unicode 编码之间的转换。本文将为您介绍汉字和 Unicode 编码的基本概念,并提供两个示例说明。 汉字和 Unicode 编码 Unicode 编码是一种字符编码标准,它使用一个编号来表示每个字符。Unicode 编码可以用来表示汉字、英文字…

    C# 2023年6月1日
    00
  • C#使用Task实现执行并行任务的原理的示例详解

    下面就来详细讲解如何使用C#的Task库实现并行执行任务的原理及示例。 什么是Task Task是.NET Framework 4.5及以上版本中新增的一个库,它的主要作用是提供一种方便、高效的方式来管理并发和异步编程相关的任务。相比较于自行利用Thread和ThreadPool管理线程,使用Task可以更方便地控制异步任务,并且能够支持更多种的异步模型。 …

    C# 2023年5月15日
    00
  • C#正则表达式匹配HTML中的图片路径,图片地址代码

    针对“C#正则表达式匹配HTML中的图片路径,图片地址代码”的问题,以下是完整攻略: 前言 在很多网站中,图片的路径都是通过HTML代码进行定义和获取。而在使用C#开发的网站中,我们可能需要通过正则表达式提取HTML中的图片路径,以便我们可以预览或下载图片。 操作步骤 第一步:获取HTML代码 首先,我们需要获取HTML代码,一种常用的方法是使用HttpWe…

    C# 2023年6月7日
    00
  • 在运行时编辑代码的 .NET 热重载的操作方法

    在运行时编辑代码的 .NET 热重载的操作方法 在 .NET 中,我们可以使用热重载来在运行时编辑代码,而无需重新启动应用程序。这对于开发人员来说非常方便,因为它可以节省大量的时间。本攻略将介绍如何在 .NET 中使用热重载。 步骤 以下是在 .NET 中使用热重载的步骤: 安装 Microsoft.DotNet.Watcher.Tools。 在命令行中运行…

    C# 2023年5月17日
    00
  • c#制作屏幕保护程序步骤(字幕屏保)

    以下是制作 C# 字幕屏保程序的完整攻略: 步骤1:创建新项目 首先,打开 Visual Studio 并创建一个新项目。在新项目对话框中,选择 “Windows Forms 应用程序”,然后在项目名称和位置部分命名并选择项目位置。 步骤2:窗口调整 在创建窗口后,需要对窗口进行一些调整以确保它适合作为屏幕保护程序。在窗口设计器中选择窗口控制,右键单击然后选…

    C# 2023年6月7日
    00
  • VS2017怎么创建创建空的ASP.NET Core Web项目?

    创建空的ASP.NET Core Web项目的步骤如下: 打开Visual Studio 2017,点击“新建项目”。 在“新建项目”对话框中,选择“ASP.NET Core Web应用程序”模板。 在“ASP.NET Core Web应用程序”对话框中,选择“空”的模板,然后单击“确定”按钮。 给项目命名,并指定项目的位置。然后单击“创建”按钮。 在“创建…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部