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文件中。
只是创建文件的时候需要手动去修改一下,稍微有点麻烦。