2010-09-22 7 views
0

У меня есть сайт WSS на общем хосте третьей стороны.SharePoint -clear cache cache

У меня есть решение с некоторыми пользовательскими элементами управления. Затем я использую веб-часть SmartPart для отображения этих элементов управления.

В этом случае я обновляю код и публикую решение для удаленного хоста. Но потом я вижу результаты «старой» сборки.

Я пробовал все, и единственным решением является изменение названия классов элементов управления.

Я не уверен, где это кэшируется - и как я могу его очистить.

Благодарим за помощь.

+1

FYI Я решил это, обновив версию сборки на каждой сборке. Веб-часть SmartPart имеет класс LateBinder, который выполняет сборку. Загрузите выбранный элемент управления веб-пользователя. Я думаю, что он не берет последнюю сборку, но обновление версии сборки разрешило ее. (Боюсь, я не уверен на 100% из-за моей ограниченной среды.) Кстати, у меня не было доступа к серверу для сброса IIS. Спасибо за помощь. – 2010-09-26 20:28:55

ответ

1

Обычно кеширование отсутствует, когда вы выполняете полный цикл набора/удаления/добавления/развертывания пакета решений. Но прежде всего я бы удостоверился, что на самом деле у пакета, который вы развертываете, есть правильная версия кода. Для этого переименуйте пакет в * .cab, извлеките сборку и проверьте измененный код в Reflector. Как только вы узнаете, что у вас есть правильная сборка в пакете решений, обязательно верните и удалите предыдущий wsp на сервере SharePoint. Для обновления сборки лучше всего обновить решение, но попробуйте полностью оттянуть/удалить/добавить/развернуть только для сохранения.

Я полагаю, что у вас нет физического доступа к серверу SharePoint. Но в случае, если выше вышло, ваша сборка может быть кэширована во временных файлах ASP.NET в инфраструктуре или неправильно удалена из папки GAC/BIN. Чтобы сбросить те, которым нужен администратор, чтобы выполнить сброс IIS, а затем удалить (до того, как сайт будет использоваться снова), эта папка: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET и проверка BIN/GAC для сборки.

Сообщите мне, если это поможет ...

+2

Это не совсем так, сборки хранятся в памяти с помощью задания таймера, которое может повлиять на развертывание обновлений для кода приемника функций. Также в зависимости от манифеста WSP IIS может или не может автоматически сбрасываться. В случае файлов, развернутых в GAC, поэтому для просмотра изменений может потребоваться ручной сброс. Сборка никогда не кэшируется во временной папке ASP.NET, она используется только для динамически совместимых файлов ASPX или ASCX. – TheCodeKing

+0

Спасибо, что указали это. Я думаю, вы правы во временной папке ASP.NET. Что вы говорите о задании таймера, о котором я не уверен. Почему и как должен работать тайник с кешем каких-либо сборок? Что касается сброса IIS, я не совсем уверен, что вы имеете в виду. Как только вы развернете решение, используя задание таймера (не с -local), вам гарантируется, что все WFE в ферме запускают iisreset (это то, что MSDN говорит ...). – Bernd

+2

Да, задание таймера может кэшировать код сборки в памяти, когда определенные команды выполняются через stsadm. В этом случае в зависимости от команды они могут запускаться в контексте процесса таймера. Иногда необходимо перезапустить процесс таймера, чтобы исполняемый код обновленного функционального приемника выполнялся.Я знаю, потому что я потратил много часов на это. Что касается сброса IIS, в манифесте WSP есть опция для управления поведением ResetWebServer. Конечно, я думаю, что по умолчанию они всегда будут перезапущены, если вы добавите код в GAC. – TheCodeKing

0

При развертывании сборок в GAC вам необходимо перезапустить IIS. Веб-части SmartPart могут также кэшировать данные в памяти, поэтому снова может помочь сброс IIS. Это зависит от того, как эта проблема проявляется. Является ли это тем, что содержимое страницы просто не обновляется, или это значит, что старый код работает?

+0

Спасибо, что было очень полезно. Я добавил комментарий к моему вопросу, объяснив, как я могу его решить. – 2010-09-26 20:30:27