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

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

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

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

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

11.12.2008 14:29:11
Отличный вопрос Я надеюсь, что кто-то еще может придумать лучший ответ. Меня раздражает, что при редактировании файлов ASHX вместо настроек C # используются настройки отступа кода для HTML.
Jacob 14.12.2010 23:20:43
4 ОТВЕТА
РЕШЕНИЕ

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

Инструменты | Опции

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

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

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

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

22
11.12.2008 15:57:59
А потом, чтобы перестать жаловаться на визуальную студию по поводу WebHandlerдирективы, просто закомментируйте строку, она будет работать так, как будто это не так!
Saeb Amini 2.11.2012 04:33:47
это абсолютно исправляет наброски, но, к сожалению, нарушает intellisense
MaxPRafferty 3.04.2013 18:59:12
Это исправило intellisense на моей машине (vs2012)
JP Hellemons 29.07.2013 13:27:34

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

@ WebHandler docs

Проверено в VS 2019.

9
31.05.2019 14:21:00
Это очень аккуратное маленькое решение :)
Zhaph - Ben Duguid 21.09.2011 15:07:29
УДИВИТЕЛЬНОЕ решение <3
user5039044 9.01.2018 07:46:31

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

Нравится:

///<%@ WebHandler Language="C#" Class="FooBar"%>
5
26.07.2011 18:41:22
Это будет работать только в том случае, если вы добавите расширение «ashx», сопоставленное с редактором «Microsoft Visual C #» на вкладке «Инструменты / Параметры / Текстовый редактор / Расширения файлов».
Alexandre N. 1.03.2016 18:24:39

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

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á ... Обрисовать в общих чертах Работаем сейчас ... И Intellisense тоже ...

Чтобы остановить выделение Нажмите « Ctrl + M + P » ...

7
30.06.2015 16:58:02
Это наиболее практичное решение, которое я нашел.
Alexandre N. 1.03.2016 18:15:42
Вы рок-звезда. Ty.
supertemp 23.04.2018 23:33:31