Проблема расширения и свертывания Visual Studio ASP.Net в универсальных обработчиках ashx

StackOverflow https://stackoverflow.com/questions/359528

Вопрос

У меня Visual Studio 2008 Professional, и у меня возникают проблемы с раскрытием и свертыванием блоков кода метода на страницах универсального обработчика ASP.Net (.ashx).

Я бы подумал, что вы могли бы сделать то же самое, что и в коде веб-страниц .aspx.

У меня такая же проблема на других коробках, даже с VS 2008 Standard и VS 2005 Professional.Все коробки полностью пропатчены (ОС и Visual Studio.)

Есть ли у кого-нибудь предложения по включению этой функции?

Это было полезно?

Решение

Вы можете заставить Visual Studio игнорировать тот факт, что перед вами код, с которым вы работаете, перейдя:

Инструменты | Параметры

И открываем вкладку «Текстовый редактор | Расширения файлов».

Создайте новую запись для расширения «ashx», сопоставленную с редактором «Microsoft Visual C#» (или «Microsoft Visual Basic», по вашему выбору), и «Добавьте» ее.

ОК, диалог, закройте и снова откройте файл ashx, и ваши блоки кода рухнут, как вам угодно, но директива @ будет довольно уродливой.

У вас возникает та же проблема, если у вас есть серверный сценарий в файле .aspx (например, в проекте веб-сайта, и вы не «поместите код в отдельный файл»), тогда вы также не сможете свернуть блоки классов там.

Другие советы

Создайте класс в App_Code каталог, на который просто ссылается файл ashx...так:

Что-тоHandler.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, отредактировать свой код C# со свертыванием #region, потому что файл .cs открывается в правильном редакторе :)

@ Документация WebHandler

Протестировано в VS 2019.

Просто выделите фрагмент кода, например:

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

Затем нажмите "Ctrl+М+Ч"И Вуала...Схема работает сейчас...И IntelliSense тоже...

Чтобы остановить обрисовку, нажмите "Ctrl+М+П"...

Добавьте /// перед первой строкой.

Так:

///<%@ WebHandler Language="C#" Class="FooBar"%>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top