В энергии, там плагин для использования % для соответствия соответствующей двойной кавычке (")?

Хорошо, вот проблема: Асинхронный атрибут для случая, куда Ваша страница собирается назвать некоторую продолжительную задачу, которая также блокирует поток, и затем Вашей странице нужен вывод от той задачи, чтобы возвратить информацию пользователю. Например, если Ваша страница должна была назвать веб-сервис, ожидать его ответа и затем использовать данные из ответа для рендеринга страницы.

причина Вы использовали бы Асинхронный атрибут, должен постараться не блокировать поток. Это важно, потому что приложения ASP.NET используют пул потоков для обслуживания запросов, и существует только относительно небольшое количество доступных потоков. И если каждый вызов связывает поток при ожидании на вызове веб-сервиса, то скоро Вы собираетесь поразить достаточно параллельных пользователей, что пользователи оказываются перед необходимостью ожидать до этих завершенных вызовов веб-сервиса. Асинхронный атрибут позволяет потоку возвратиться к пулу потоков и служить другим параллельным посетителям Вашего веб-сайта, вместо того, чтобы вынудить его сидеть не двигаясь, ничего не делая, в то время как ожидание веб-сервиса призывает к возврату.

результат для Вас - это: Асинхронный атрибут разработан для случая, где Вы не можете представить страницу, пока асинхронная задача не завершается, и вот почему это сразу не представляет страницу.

необходимо запустить собственный поток и сделать его потоком демона. Я не помню точный синтаксис за это, но можно легко найти его в документе путем поиска документа BCL "демона". Это означает, что поток помешает Вашему приложению закрываться, в то время как это живо, который важен, потому что ASP.NET и IIS оставляют за собой право "перерабатывать Ваш процесс", когда они считают это необходимым, и если это произойдет, в то время как Ваш поток работает, Ваша задача будет остановлена. Создание демона потока предотвратит это (за исключением некоторых возможных редких пограничных случаев... Вы узнаете больше при нахождении документации относительно этого).

, Что поток демона - то, где Вы начнете эти задачи. И после того, как Вы сказали потоку демона делать задачу, можно сразу представить страницу..., таким образом, рендеринг страницы сразу произойдет.

Еще лучше, чем поток демона в Вашем процессе ASP.NET, тем не менее, должен был бы реализовать службу Windows для того, чтобы сделать задачу. Имейте свое приложение ASP.NET, передают задачу, которая будет выполнена к Сервису. Никакая потребность в потоке демона и никакая потребность волноваться о Вашем перерабатываемом процессе ASP.NET. Как Вы говорите Сервису сделать задачу? Возможно, через WCF, или возможно путем вставки записи в таблицу базы данных, которую опрашивает Сервис. Или много других путей.

РЕДАКТИРОВАНИЕ: вот другая идея, которую я использовал прежде для этой точно той же цели. Запишите информацию о своей задаче в очередь MSMQ. Имейте другой процесс (возможно, даже на другой машине) получение по запросу от той очереди и сделайте трудоемкую задачу. Задание вставки в Очередь оптимизировано для возврата как можно быстрее, таким образом, поток не заблокируется, в то время как данные, Вы вставляете Очередь, отправляются через провод или что-либо как этот. Это - один из самых быстрых способов сделать примечание того, что задача должна быть сделана, не ожидая той задачи выполниться.

35
задан Arslan Ali 25 March 2015 в 11:44
поделиться

3 ответа

В зависимости от вашей причины в этом может быть лучший способ выполнить то, что вы ищете. Например, если у вас есть следующий код:

foo(bar, "baz quux")
              ^

и ваш курсор оказался на ^ , и вы хотите заменить все внутри кавычек чем-то другим, используйте ci " ]. Здесь используются «текстовые объекты» Vim для изменения ( c ) всего, что находится внутри ( i ) кавычек ( ") и переводит вас в режим вставки следующим образом:

foo(bar, "")
          ^

Затем вы можете начать вводить заменяющий текст. Есть много других текстовых объектов, которые действительно полезны для такого рода ярлыков. Изучите (и используйте) одну новую команду Vim в неделю, и вы быстро станете экспертом!

76
ответ дан 27 November 2019 в 06:25
поделиться

Ответ Грега был очень полезным, но мне также нравятся команды 'f' и 'F', которые перемещают курсор вперед и назад к символ, который вы нажимаете после команды.

Итак, нажмите f ", чтобы перейти к следующему" символу, и F ", чтобы перейти к предыдущему.

Команды f 'и' F ', которые перемещают курсор вперед и назад к символу, который вы нажимаете после команды.

Итак, нажмите f ", чтобы перейти к следующему" символу, и F ", чтобы перейти к предыдущему.

Команды f 'и' F ', которые перемещают курсор вперед и назад к символу, который вы нажимаете после команды.

Итак, нажмите f ", чтобы перейти к следующему" символу, и F ", чтобы перейти к предыдущему.

32
ответ дан 27 November 2019 в 06:25
поделиться

Я хотел бы расширить ответ Грега и представить плагин Surround.vim .

Предположим, что вместо редактирования содержимого ваших кавычек, вы хотите изменить сами символы ". Допустим, вы хотите перейти от двойных кавычек к одинарным кавычкам.

foo(bar, "baz quux")
              ^

Плагин окружающего звука позволяет вам просто изменить это на

foo(bar, 'baz quux')
              ^

выполнив следующее: cs "' (который гласит:« заменить окружающие двойные кавычки на одинарные »).

Вы также можете удалить кавычки, просто запустив: ds " (который гласит:" удалите окружающие двойные кавычки).

Здесь хорошее введение в плагин окружающего звука .

9
ответ дан 27 November 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: