Я столкнулся с проблемой на IIS, и это беспокоит меня в течение многих дней. После того, как я искал по всей сети, я все еще не могу найти правильный ответ, поэтому пришло время опубликовать в StackOverflow, чтобы обратиться за помощью.
Я создал виртуальную машину Windows Server 2016 в Alibaba Cloud и общий файловый ресурс SMB в Alibaba Cloud. Затем я следовал этой инструкции (https://github.com/AlibabaCloudDocs/nas/blob/master/intl.en-US/Best%20Practices/Use%20Windows%20IIS%20and%20NAS%20to%20provide%20Web%20and%20FTP%20services.md), чтобы поместить свой веб-сайт в общую папку и загрузить его в IIS. Проблема в том, что этот параметр работает в Windows Server 2012 R2 или более ранних версиях, однако в Windows отображается сбой загрузки dll Сервер 2016. Ошибка выглядит так:
Ошибка загрузки Dll: 0x8007003a
Я перепробовал кучу настроек
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
и искали в Интернете, но ни один из приемов не работает. Я также пытался использовать Process Monitor для проверки сведений о w3wp.exe и получил эту разницу между 2012 и 2016 годами:
W3wp.exe в Windows Server 2012 предоставляет CreateFile: успех
W3wp.exe в Windows Server 2016 выдает CreateFile: неверный сетевой ответ
Сравнение стеков 2012 года (слева) и 2016 года (справа):
Слева: 2012, Успех; Справа: 2016, неверный сетевой ответ
Еще одна интересная вещь - Windows Server 2016 на самом деле не отправляет SMB-пакет для этого запроса открытия DLL.
Меня беспокоит, что это ошибка ядра Windows Server 2016.
После написания всех вышеприведенных слов вопрос довольно ясен: кто-нибудь знает, что на самом деле произошло, и есть ли решение загрузить удаленную dll на Windows Server 2016 для IIS?