Предварительная компиляция приложения/веб-части asp.net для WSS/SharePoint

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

  •  27-09-2019
  •  | 
  •  

Вопрос

Я создал несколько пользовательских приложений, которые работают на WSS 3, используя шаблон веб-приложения Visual Studio 2010.Когда я компилирую приложение, Visual Studio создает файл сборки в каталоге bin, который я позже копирую на рабочий сервер (другой компьютер) с WSS 3.Скомпилированный файл dll приложения копируется в папку bin внутри виртуального каталога WSS и работает там нормально.

Поскольку требования к проекту/приложения со временем росли, я теперь сталкиваюсь с проблемой, заключающейся в том, что первое попадание в сборку запускает динамическую компиляцию, чего мне хотелось бы избежать.

Даже если приложения работают нормально, я бы хотел использовать прекомпилятор asp на своей машине разработки, чтобы уменьшить задержку при первом запросе страницы.

Я использовал следующую команду для предварительной компиляции всего веб-приложения:

aspnet_precompile -v / -p PATH_TO_WEB_APPLICATION C:\WebApp -errorstack

Компиляция проходит нормально, без каких-либо ошибок, и в итоге я получаю пару скомпилированных файлов, а также файл Web_App_xxxxx.dll в папке C:\WebApp\bin.

С этого момента я немного не понимаю, как действовать дальше.

Не могли бы вы посоветовать мне, в какую папку мне нужно скопировать скомпилированные файлы на рабочем сервере?

Им нужно заходить в папку bin на сервере или лучше в папку, где лежат aspx-страницы?

Кроме того, я хотел бы знать, могу ли я предварительно скомпилировать веб-приложение на машине разработки без метабазы ​​IIS с помощью переключателей -v и -p, а затем использовать его внутри WSS?

Я скопировал все файлы из папки C:\WebApp\bin в папку bin сервера, но, к сожалению, процесс компиляции csc все еще запускается при просмотре с помощью монитора процессов событий сервера.

Ваше здоровье,

Матиас

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

Решение 2

Я нашел ответ на этот вопрос предварительной компиляции:

Я думал, что первое попадание на страницу приложения занимает много времени, потому что asp.net нужно его скомпилировать, а я могу сэкономить время, выполнив предварительную компиляцию.Приложение работает внутри контекста WSS и позволяет пользователю перейти к веб-форме и обновить через нее свой профиль Active Directory.Глобальный список адресов Exchange также обновляется в лесу Exchange, поэтому изменения видны в списке адресов Outlook, а также в Communicator.

Полный код решения с отчетами и т. д. занимает около 6000 строк кода C#.

Мое предположение относительно медленной компиляции из-за количества строк оказалось неверным.

Я загрузил следующее исправление для asp.net:http://support.microsoft.com/kb/961884

и установитеOptimCompilations="true" в файле web.config, как описано здесь:

http://blogs.msdn.com/b/davidebb/archive/2009/04/15/a-new-flag-to-optimize-asp-net-compilation-behavior.aspx

http://www.paulliebrand.com/2009/09/18/sharepoint-development-to-bin-folder-and-extremely-slow-render-initial-render-times-solution/

Теперь первое попадание в приложение происходит намного быстрее.

Большое спасибо,

Матиас

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

Файлы просто нужно закинуть в папку bin и все будет работать нормально.Что касается переключателя -v, он вам понадобится, если вы используете флаг -p, но я думаю, что это также зависит от того, как вы компилируете приложение.Проверять эта ссылка за большим.Я не думаю, что это имеет большое значение, если это неправильно/неправильно.

Этот сценарий похож на работу в среде Cruise Control .NET.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top