Сведения о вопросе

HEIGTH

04:21, 19th August, 2020

Теги

iis   dll   gac    

Asp.net переустановка DLL в GAC

Просмотров: 476   Ответов: 2

Я пытаюсь переустановить DLL в GAC, все, кажется, работает нормально, но веб-приложение, обращающееся к нему, по-прежнему использует старый.

Старый DLL-это та же версия, что и новый, только с незначительным редактированием, он будет использоваться 50 различными сайтами, поэтому изменение версии, а затем изменение ссылки в web.config не является хорошим решением.

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

кто-нибудь знает, что я делаю неправильно или что я могу сделать, чтобы исправить эту ситуацию?



  Сведения об ответе

LIZA

01:26, 20th August, 2020

AFAIK, вам нужно перезапустить IIS, чтобы он получил новую ссылку на обновленный DLL. Ваш лучший выбор - выполнить сброс в низкое время трафика. Если вы используете несколько серверов с балансировкой нагрузки, вы можете предотвратить попадание новых соединений на один сервер, пока все соединения не будут закрыты. После этого обновите DLL, перезагрузите IIS и верните сервер обратно в пул соединений. Повторите для каждого сервера без видимого простоя для конечных пользователей.


  Сведения об ответе

VCe znayu

02:47, 11th August, 2020

Поскольку вы не ссылаетесь на пулы приложений, я предполагаю, что вы находитесь на старой версии IIS. В этом случае вам нужно будет сделать "touch" все DLLs в каждом сайте, который ссылается на DLL.

Проблема в том, что код уже загружен, и вам нужно найти ненавязчивый способ повторно загрузить приложение. Утилизация пулов приложений-это эффективный способ сделать это. Если вы находитесь на старом IIS, который не имеет пулов приложений, то обновление последнего изменения в папках /bin/ или файлах web.config перезагрузит приложение, не затрагивая другие сайты.

Так что какой-то сценарий, чтобы сделать это выше, в порядке вещей. Все, что ему нужно сделать, это обновить lastmodified на DLLs в каждом каталоге приложений /bin.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться