Есть ли способ запустить веб-сервис WCF от имени другого пользователя, не создавая для него новый пул приложений? - PullRequest
1 голос
/ 16 сентября 2011

У меня есть веб-служба WCF / .NET4.В моих обычных веб-приложениях .NET (в основном MVC2) я могу указать олицетворение для другой учетной записи AD, перейдя в «Основные настройки> Подключиться как> Указанный пользователь» на панели управления IIS7.Однако, когда я установлю это для службы WCF, служба все равно будет работать как пользователь IIS.Я знаю, что олицетворение работает, потому что я могу вывести обычную страницу aspx в ту же папку приложения, в которой просто выдается идентификатор олицетворенного пользователя.

Единственный способ, с помощью которого я обнаружил, что службы WCF работают какдругой пользователь должен создать новый пул приложений только для этого пользователя и назначить его моему приложению.Есть ли способ использовать существующий пул и олицетворение IIS, как в обычных приложениях .NET?Я действительно не хочу создавать новый пул приложений для каждой новой службы .NET, для которой нужны разные права доступа.

1 Ответ

0 голосов
/ 17 сентября 2011

Хотя модель WCF спроектирована так, чтобы она работала согласованно в средах хостинга и транспортах, часто бывают сценарии, когда приложение не требует такой степени гибкости. Режим совместимости WCF с ASP.NET подходит для сценариев, в которых не требуется возможность размещения вне IIS или для обмена данными по протоколам, отличным от HTTP, но которые используют все функции платформы веб-приложений ASP.NET. .

Режим совместимости WCF с ASP.NET включается на уровне приложения через следующую конфигурацию (находится в файле приложения Web.config):

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>

Вы можете попробовать, если это соответствует вашим потребностям.

...