Назад | Перейти на главную страницу

Доступ к именованному каналу запрещен, если он не запущен как локальная система

Я работаю над проблемой в тот момент, когда приложение WCF создает именованный канал, который затем должен быть доступен для приложения asp.net, запущенного в IIS. Я не писал приложение WCF, просто пытаюсь его поддержать.

Приложение работает в контексте локальной системы, а приложение IIS - в контексте локальной учетной записи Windows, которая является членом локальной группы администраторов. Когда приложение asp.net пытается получить доступ к именованному каналу, оно вызывает исключение «Доступ запрещен» (AddressAccessDeniedException), и я понятия не имею, где :-( Вот что я сделал до сих пор для устранения проблемы:

Итак, вот я ... Я знаю, что канал существует, я знаю, что это какая-то проблема с разрешениями, но все разрешения проверяются нормально. Что мне не хватает? Есть ли какие-то общие настройки в Windows, которые могут помешать пользователю получить доступ ко всем именованным каналам?

Я знаю, что могу изменить настройку «Доступ к именованным каналам анонимно», но я не хочу менять это, так как он не настроен на работающей машине, так что это не приведет меня к основной причине. Я также видел несколько упоминаний "Доступ к именованным каналам удаленно" в Google, но я не знаю, является ли это опечаткой ... не именованные каналы являются локальными по самому их определению ??

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

https://blogs.msdn.microsoft.com/amitlale/2007/01/29/addressaccessdeniedexception-cause-and-solution/

https://stackoverflow.com/questions/41683714/wcf- named-pipe-server-fails-with-addressaccessdeniedexception