Странная ошибка связи в Win2008 - PullRequest
1 голос
/ 02 февраля 2009

У меня есть служба Windows, в которой размещена основная служба WCF. Оба клиента для этой службы размещены в IIS 7, первая - это служба WCF, размещенная на IIS, а вторая - стандартное приложение Asp.Net. Оба клиента IIS взаимодействуют со службой Windows по именованным каналам.

Служба WCF, размещенная в IIS, может прекрасно взаимодействовать с службой WCF, размещенной в Windows, но служба Asp.Net завершается с ошибкой: Не удалось получить имя канала из URI канала: доступ запрещен.

Моя первая реакция: где-то проблема с разрешениями, но я не знаю где. И, во-вторых, почему служба WCF, размещенная на IIS, сможет обмениваться данными без проблем, но не работает приложение Asp.Net?

Ответы [ 3 ]

1 голос
/ 05 февраля 2009

Хорошо, я решил, точнее, я выяснил, где была проблема с разрешением.

Оказывается, в настройке анонимной аутентификации использовался какой-то странный пользователь, созданный нашим клиентом (физическое лицо, а не наш клиент WCF), а не пользователь NetworkService (идентификатор, который использовал пул приложений).

Но это почти порождает другой вопрос: почему даже недавно созданные сайты по умолчанию использовали этот IUSR, а не систему по умолчанию? В любом случае, я просто надеюсь, что это индексируется в Google, поскольку статей по этому поводу практически не было.

0 голосов
/ 16 февраля 2009

Также вы можете заметить, что IUSR является учетной записью IIS7 по умолчанию для анонимных пользователей. См. Общие сведения о встроенных учетных записях пользователей и групп в IIS 7.0 для объяснения стандартных учетных записей.

Надеюсь, это полезно.

0 голосов
/ 02 февраля 2009

Проверьте идентичность пулов приложений, в которых находятся службы WCF и ASP.NET.

Может быть, AppPool службы WCF обладает идентичностью, которая имеет права, отличные от других AppPool?

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