2012-05-30 2 views
1

Я реализую базовую службу WCF для проверки подлинности в ASP.NET с использованием Visual Studio 2010. Я выполнил это, примерно следуя первым частям this guide.Ошибка сервера, отключена служба WCF

У меня есть по умолчанию ASP.NET Web Site (в VS2010) Войти страницу настроить использование моей службы WCF для аутентификации пользователя, используя этот код фоновым и <asp: Login> свойства:

protected void Login_Authenticate(object sender, AuthenticateEventArgs e) 
{ 
    bool isAuthenticated = false; 

    string customCredential = "Not used by the default membership provider."; 
    bool isPersistent = LoginUser.RememberMeSet; // Authentication ticket remains valid across sessions? 

    AuthenticationServiceClient authClient = new AuthenticationServiceClient(); 

    isAuthenticated = authClient.Login(LoginUser.UserName, LoginUser.Password, customCredential, isPersistent); 

    e.Authenticated = isAuthenticated; 
    authClient.Close(); 
} 

Кроме того, Я работал, когда использовал IIS Express, но с тех пор перешел на IIS 7.5.

Когда вызываемая функция вызывается, исключение вызывается при вызове authClient.Login(...).

Обычная страница ошибки всплывает с этим сказать:

Ошибка сервера в приложении «/» AuthClientSite.

АутентификацияУслуги отключена.

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.ServiceModel.FaultException`1 [[System.ServiceModel.ExceptionDetail, system.serviceModel, Version = 4.0.0.0, культура = нейтральной, PublicKeyToken = b77a5c561934e089]]: AuthenticationService отключен.

Поскольку этот код почти идентичен тому, что работает в IIS Express, и учитывая, что моя служба просто отключена, я угадываю ее настройку где-то в IIS, которая должна быть исправлена.

Я обматываю услугу System.Web.ApplicationServices.AuthenticationService, как показано в the link from above.

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

+0

Что такое идентификатор, под которым работает пул приложений IIS7.5? Является ли пул приложений запущенным или остановленным? – rt2800

+0

Я новичок во всех жаргонах, но мои сайты работают с Identity: «ApplicationPoolIdentity» в соответствии с диспетчером IIS. Его статус «Начинается», поэтому я предполагаю, что он работает. Кроме того, это v4.0 .NET и Integrated Pipeline Mode. – kevlar1818

ответ

3

Так что я выяснил свою проблему. Мне нужно добавить эти строки в файл Web.config на вебе-сайте работает служба:

<system.web.extensions> 
    <scripting> 
     <webServices> 
      <authenticationService enabled="true" 
       requireSSL = "false"/> 
     </webServices> 
    </scripting> 
</system.web.extensions> 

Надеется, что это помогает всем, кто работает в этих проблемы в будущем.

Смежные вопросы