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文件中。
只是創建文件的時候需要手動去修改一下,稍微有點麻煩。
