VS2010/VS2013中ashx代码折叠的问题

Tools->Options->TextEditor->File Extension

Add ashx Microsoft Visual C#

Apply

OK

重启VS就可以了,效果如下图所示

代码折叠是可以了,但是有一点不舒服的是,第一行<%@这里会出现红线,不影响程序运行,但是看着不舒服(强迫症犯了)。

.ashx文件还有另外一个问题:.ashx文件中的代码不会被编译到.dll文件中。

要解决这个问题,可以把.ashx文件中的cs代码分离出来,也就是把.ashx文件中除了第一行之外的所有代码剪切掉,在App_Code中创建一个class文件,把刚才剪切的代码全部覆盖到新建的class文件中,假设我们创建的class文件的名称是 Test.cs,修改一下.ashx文件的第一行代码,加上 CodeBehind="Test.cs",.ashx文件的所有代码如下:

<%@ WebHandler Language="C#" class="Handler" CodeBehind="Test.cs" %>

Test.cs的所有代码如下:

using System;
using System.Web;

public class Handler : IHttpHandler
{

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

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

这样,代码折叠解决了,发布WEB程序的时候,.ashx相关的cs代码也会被编译到App_Code.dll文件中。

只是创建文件的时候需要手动去修改一下,稍微有点麻烦。

原文地址:https://www.cnblogs.com/oukunqing/p/5935539.html