首页 > 代码库 > VS2010/VS2013中ashx代码折叠的问题

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文件中。

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

不明白微软为什么要这样做。

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