Что происходит с нативной библиотекой DLL, когда она помещается в папку Bin приложения ASP.NET? - PullRequest
3 голосов
/ 30 января 2010

Я хотел бы знать, что происходит, когда собственная (читай: не .NET) DLL помещается в папку Bin приложения ASP.NET. В частности, у меня есть ~ два вопроса (я не буду связывать эти прямые вопросы со спецификой моей ситуации):

Сохраняет ли ASP.NET библиотеки DLL в памяти? Вот почему а) я не могу удалить файлы и б) изменение прав доступа к файлам не влияет на способность ASP.NET их читать?

Кроме того, может ли собственная DLL в одной папке bin приложения ASP.NET влиять на совершенно другое приложение ASP.NET? Потому что это наверняка происходит с двумя моими приложениями. Является ли собственная DLL ресурсом, который впоследствии используется клиентом ASP.NET в любом контексте?

Ответы [ 2 ]

1 голос
/ 08 июня 2011
  1. Вы не сможете удалить файлы в папке Bin своего приложения, пока не остановите IIS.
  2. Возможно, ваше другое приложение умирает, потому что оно разделяет AppPool с приложением, которое загружает «плохую» DLL; это может в свою очередь убивать (читай отключение) AppPool. Убедитесь, что каждый сайт работает в отдельном пуле, и вы не должны видеть никаких проблем на другом сайте.
1 голос
/ 19 февраля 2010

для меня, если CLR встретит dll не-net в папке bin, он попытается загрузить его и не сможет, и компилятор покажет вам YSOD.

Если у вас возникли проблемы с удалением dll, я бы предложил iisreset - работает для меня, когда я сталкиваюсь с файлами, которые не могу удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...