WCF Exception: ...service "Anonyme" de l'Authentification, mais il n'est pas activé pour l'application IIS qui héberge ce service

J'ai vu cette demande d'ici et de partout, des tas de fois, mais je ne peux pas obtenir ma tête autour de lui.

Voici ce que je veux faire. J'ai besoin d'héberger un Service WCF dans IIS 6. Je veux le nom d'utilisateur /mot de passe de sécurité et je ne veux pas de ces passés non crypté, donc je suis en utilisant le protocole HTTPS. J'ai ce travail tout en local sur mon IIS, mais quand je viens de le déployer-je obtenir l'accès anonyme n'est pas activée erreur. Sur mon serveur IIS local l'accès anonyme est activé sur le serveur déployé il n'est pas, et nous ne voulons pas de l'activer. Problème comprise. La Solution n'est pas évidente pour moi....

Si j'accédez à la page dans IE, ou faire ajouter une référence de service à partir de Visual Studio, j'ai cette erreur après avoir entré mon nom d'utilisateur /mot de passe. Donc, cela montre que mon certificat et HTTPS fonctionne OK, et le nom d'utilisateur et mot de passe sont corrects. Voici les paramètres à partir du web.config:

<services>
  <service name="SecureWcfTestsApplication.Service1">
    <endpoint address=""
      binding="wsHttpBinding"
      bindingConfiguration ="Binding2"
      contract="SecureWcfTestsApplication.IService1" />
  </service>
</services>

<bindings>
  <basicHttpBinding>
  </basicHttpBinding>
  <wsHttpBinding>
    <binding name="Binding2">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="Windows" algorithmSuite="Default" />
      </security>
    </binding>        
  </wsHttpBinding>
</bindings>

Je suis en utilisant wsHttpBinding parce qu'il n'aimait pas basicHttpBinding avec clientCredentialType Windows. Cela dit, je préfère utiliser basicHttp mais il veut UserName comme le clientCredentialType, et je ne suis pas sûr quelle est la différence entre le nom d'utilisateur et de sécurité de Windows.

Meilleur

Ray

OriginalL'auteur RBrowning99 | 2012-03-16