如何动态编译ashx文件?

Rm5*_*558 3 asp.net compilation dynamic ashx

我在 ASP.NET Web 项目中有一个 ashx 文件。它有一个 cs 文件背后的代码。cs 文件被编译成项目 dll 并部署到生产环境。我发现没有办法在不部署整个项目 dll 的情况下动态更改 cs 文件。

我一直将 C# 代码放入 aspx(而不是 .cs)文件中,部署后,我可以对单个 aspx 文件进行更改,然后部署,IIS 可以动态编译并与其后面的 C# 代码合并。

我可以对 ashx 文件做类似的事情吗?

这是来自 MSDN 的引用。http://msdn.microsoft.com/en-us/library/ms366723(v=vs.100).aspx

ASP.NET 支持动态编译 ASP.NET 页面(.aspx 文件)、ASP.NET Web 服务(.asmx 文件)、ASP.NET HTTP 处理程序(.ashx 文件)

谢谢,这可以节省我很多时间!

Rm5*_*558 5

我想到了。

  1. 在 Visual Studio 中添加通用处理程序 - Handler1.ashx
  2. 删除自动创建的cs文件。
  3. 再次打开ashx,
    • 删除 CodeBehind="Handler1.ashx.cs"
    • 在下面添加c#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class Handler1 : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World2");
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)