Visual Studio ASP.Net扩展和折叠ashx泛型处理程序中的问题

时间:2008-12-11 14:29:12

标签: asp.net visual-studio visual-studio-2008 ashx

我有Visual Studio 2008 Professional,我在ASP.Net Generic Handler页面(.ashx)中扩展和折叠方法代码块时遇到问题

我原本以为你可以像.aspx网页背后的代码一样做。

即使使用VS 2008 Standard和VS 2005 Professional,我在其他盒子上也有同样的问题。所有框都已完全修补(OS和Visual Studio。)

是否有人建议启用此功能?

5 个答案:

答案 0 :(得分:21)

您可以强制Visual Studio忽略这样一个事实,即您正在使用的代码是:

工具|选项

打开“文本编辑器|文件扩展名”选项卡。

为扩展名“ashx”创建一个新条目,映射到编辑器“Microsoft Visual C#”(或“Microsoft Visual Basic”,如您的偏好所示),并“添加”它。

确定对话框,关闭并重新打开您的ashx文件,您的代码块将崩溃到您的内容,但@指令将相当难看。

如果您在.aspx文件中有服务器端脚本(例如在网站项目中并且您没有“将代码放在单独的文件中”),则会遇到同样的问题,然后您无法在那里折叠类块任

答案 1 :(得分:9)

App_Code目录中创建一个类,ashx文件只是引用它......就像这样:

SomethingHandler.ashx:

<%@ WebHandler Language="C#" Class="SomethingHandler" %>

App_Code文件夹中,我创建了文件SomethingHandler.cs,内容为SomethingHandler

using System;
using System.Web;
// using blabla...

public class SomethingHandler : IHttpHandler
{
        public void ProcessRequest(HttpContext c)
        {
    etc...

现在我可以打开SomethingHandler.cs,使用#region折叠编辑我的C#代码,因为.cs文件在右侧编辑器中打开:)

@ WebHandler docs

在VS 2019中测试过。

答案 2 :(得分:5)

只需选择一段代码,例如:

using System;
using System.Web;
using System.Web.Security;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

然后按“ Ctrl + M + H ”和Vualá...概述现在工作......还有智能感知......

停止概述按“ Ctrl + M + P ”...

答案 3 :(得分:3)

在第一行前添加///。

像这样:

///<%@ WebHandler Language="C#" Class="FooBar"%>

答案 4 :(得分:0)

Today in VS 2019 (and I believe it works in earlier versions) you can:

create a class in the App_Code directory, which the ashx-file references. Like this:

SomeHandler.ashx:

<%@ WebHandler Language="C#" Class="SomeHandler" %>

And in the App_Code folder create the file SomeHandler.cs with class SomeHandler

using System;
using System.Web;
// using blabla...

public class SomeHandler : IHttpHandler
{
        public void ProcessRequest(HttpContext c)
        {
    etc...

@ WebHandler docs