将ashx写到类库( Class library )里并在页面上调用的具体方法, 可以带来代码可维护性和代码的可重用性,并且能够更好地分离底层实现和上层( Presentation layer )代码。
下面是具体的步骤:
- 创建 ASP.NET 类库项目
首先,我们需要做的就是创建一个 ASP.NET 类库项目。我们可以在 Visual Studio 中选择“新建项目”,然后选择“ASP.NET Web 应用程序”中的“类库”选项。
- 添加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;
}
}
}
- 编译类库项目
在 HelloWorld.ashx 文件中编写好代码后,就需要编译类库项目,以便在 Web 应用程序项目中使用它。
您可以使用 Visual Studio 中的“生成”选项来编译项目。
- 在Web项目中引用类库
引用类库非常简单,只需要在 Web 应用程序项目中添加对类库项目的引用即可。
在您的 Web 应用程序项目中,右键单击“引用”文件夹并选择“添加引用”,找到之前创建的类库项目并添加它。
- 在 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技术站