Прекомпилировать приложение / веб-часть asp.net для WSS / SharePoint - PullRequest
1 голос
/ 15 июня 2010

Я создал несколько пользовательских приложений, которые работают на 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 все еще запускается при просмотре с помощью монитора процессов событий сервера.

Приветствия

Mathias

Ответы [ 2 ]

1 голос
/ 01 июля 2010

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

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

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

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

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

и установил optimizeCompilations = "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/

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

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

Матиас

1 голос
/ 16 июня 2010

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

Такой сценарий звучит как работа для круиз-контроля.

...