2010-01-15 8 views
3

J'ai un service WCF qui a une méthode pour retourner le nom d'utilisateur Windows d'un client Silverlight qui consomme le service. Le service WCF utilise basicHttpBinding avec le jeu de modes TransportCredentialOnly et le TransportClientCredentialType défini sur Windows. Dans IIS, l'authentification Windows est activée et l'authentification anon est désactivée.HttpContext.Current.User est toujours NULL

Malgré (apparemment) la configuration du service correctement lorsque j'appelle le service et lui demande de retourner le nom d'utilisateur il erreurs. Un examen plus approfondi montre que HttpContext.Current.User est toujours null (donc une exception nullreference est levée).

Est-ce que quelqu'un a d'autres idées pour lesquelles cela ne fonctionne pas?

Répondre

4

Essayez d'ajouter -

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 

à votre fichier de configuration

+2

Cela a fonctionné merci! Notez également que vous devez également ajouter [AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] à votre classe. – Calanus

1

Dans WCF, il est l'objet OperationContext à partir duquel vous pouvez récupérer les informations d'identification de sécurité transmise par l'appelant/client en utilisant la propriété ServiceSecurityContext .

Questions connexes