Хостинг .net Core 2.1 на IIS Отказано в доступе к пути решения?

У меня есть веб-API .net core 2.1, настроенный на сервере разработки, и он отлично работает, однако, когда я пытаюсь просмотреть сайт на рабочем сервере, я получаю следующую ошибку:

Unhandled Exception: System.UnauthorizedAccessException: Access to the path 'R:\SoftCatWebApi\ETL' is denied.
   at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
   at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
   at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   at System.Xml.XmlTextReaderImpl.FinishInitUriString()
   at System.Xml.XmlTextReaderImpl..ctor(String uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)
   at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
   at NLog.Config.XmlLoggingConfiguration.CreateFileReader(String fileName)
   at NLog.Config.XmlLoggingConfiguration..ctor(String fileName, Boolean ignoreErrors, LogFactory logFactory)
   at NLog.LogFactory.LoadXmlLoggingConfiguration(String configFile)
   at NLog.LogFactory.LoadConfiguration(String configFile)
   at NLog.LogManager.LoadConfiguration(String configFile)
   at NLog.Web.AspNetExtensions.ConfigureNLog(IHostingEnvironment env, String configFileRelativePath)
   at ETL.Program.<>c.<BuildWebHost>b__1_0(WebHostBuilderContext hostingContext, IConfigurationBuilder config) in C:\SoftCat\Systems\SoftCatInternalWebApi\ETL\Program.cs:line 36
   at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors)
   at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
   at ETL.Program.BuildWebHost(String[] args) in C:\SoftCat\Systems\SoftCatInternalWebApi\ETL\Program.cs:line 22
   at ETL.Program.Main(String[] args) in C:\SoftCat\Systems\SoftCatInternalWebApi\ETL\Program.cs:line 18

Я пробовал много разных вещей, у меня есть пул приложений, примененный к папке со всеми разрешениями, и у меня включена анонимная аутентификация.

Я буквально пробовал несколько предложений на разных форумах, но ничто не помогло решить мою проблему.

Какие-либо предложения?

Если я запускаю dll из CMD, я получаю другую ошибку:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Обновлять:

Если я нажму на любой из параметров в диспетчере IIS, я получу сообщение об ошибке в web.config.


person Hawkzey    schedule 27.02.2019    source источник
comment
имеет ли ваш пользователь live-webapp разрешение на доступ к диску R. На самом деле, R:\SoftCatWebApi\ETL? У меня была очень похожая проблема при запуске приложения Python в IIS, смена пользователя решила мою проблему.   -  person ibrahimozgon    schedule 27.02.2019
comment
Что вы имеете в виду под пользователем? Разве не пулу приложений нужен доступ к этому местоположению, поэтому IIS может получить доступ к решению через пул приложений @ibrahimozgon   -  person Hawkzey    schedule 27.02.2019
comment
Я имею в виду идентификатор пула приложений. Я напишу подробности в ответ, чтобы добавить скриншоты.   -  person ibrahimozgon    schedule 27.02.2019
comment
Какое действие вы хотели вызвать с сервера? Поделитесь с нами кодом действия.   -  person Edward    schedule 28.02.2019
comment
Я не пытаюсь вызвать действие, я пытаюсь разместить веб-приложение на IIS без отображения ошибки HTTP 500.19 — внутренняя ошибка сервера @TaoZhou   -  person Hawkzey    schedule 28.02.2019


Ответы (1)


кажется, у вашего идентификатора пула приложений нет разрешения на доступ к вашему пути. Чтобы быть уверенным, измените идентификатор пула с пользователем, у которого есть разрешение.

Идентификатор пула

Пользовательский аккаунт

person ibrahimozgon    schedule 27.02.2019
comment
Я попытался использовать свою учетную запись администратора, у которой демонстративно были права на чтение/запись, чтобы посмотреть, сработает ли описанное выше, но все равно не повезло ›.‹ - person Hawkzey; 27.02.2019
comment
Действительно :) Странно то, что все это работает на сервере разработки, который в значительной степени является копией. - person Hawkzey; 27.02.2019