2009-12-09 4 views
3

J'ai un client Silverlight qui a quelques problèmes pour parler au serveur d'où il provient via un WCF basicHttpBinding. La configuration du service est la suivante:L'identité du client Silverlight n'est pas toujours transmise au serveur?

<system.serviceModel> 
    <bindings> 
    <basicHttpBinding> 
     <binding name="silverlightBinding"> 
     <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Windows" /> 
     </security> 
     </binding> 
    </basicHttpBinding> 
    </bindings> 
    <services> 
    <service name="MyServices.ImportService"> 
     <endpoint address="" binding="basicHttpBinding" 
       contract="MyServices.IImportService" 
       bindingConfiguration="silverlightBinding" /> 
    </service> 
    </services> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 
</system.serviceModel> 

Le serveur est un serveur Web IIS6 configuré pour utiliser l'authentification intégrée. L'identité du pool d'applications est un compte de domaine.

Maintenant, certains appels du client Silverlight au serveur Web incluent l'identité du client (l'utilisateur du domaine qui accède au client) et d'autres pas! J'ai inclus une partie des journaux IIS pour montrer:

2009-12-09 14:10:00 W3SVC1490499214 10.0.0.113 GET /ClientBin/MySLApp.xap - 80 BROWNIE\TestUser 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 304 0 0 
2009-12-09 14:12:33 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 - 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 401 2 2148074254 
2009-12-09 14:12:33 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 - 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 401 2 2148074254 
2009-12-09 14:12:33 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 - 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 401 1 0 
2009-12-09 14:12:33 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 BROWNIE\TestUser 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 200 0 0 
2009-12-09 14:12:33 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 - 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 401 1 0 
2009-12-09 14:12:34 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 BROWNIE\TestUser 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 200 0 0 
2009-12-09 14:12:34 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 - 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 401 1 0 
2009-12-09 14:12:34 W3SVC1490499214 10.0.0.113 POST /Services/ImportService.svc - 80 BROWNIE\TestUser 10.0.0.216 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1) 200 0 0 

Si vous faites défiler un peu vers la droite, vous voyez que pour certaines demandes d'une identité est connue (BROWNIE\TestUser). Cependant, pour la plupart des demandes, ce n'est pas le cas. C'est comme si le client choisissait «aléatoirement» quand envoyer une identité.

Quelqu'un at-il déjà vu ce comportement et trouvé une solution?

+0

Vous rencontrez réellement des problèmes avec le fonctionnement de l'application? – AnthonyWJones

+0

Oui, une fenêtre d'authentification est affichée sur le navigateur client après un certain temps. Et l'application client cesse de fonctionner après cela. –

Répondre

1

J'ai connu un comportement similaire avec une application silverlight .. avéré être l'un de ces problèmes:

WCF bug 1

WCF bug 2

Blog infosupport

Il ne se produit pas dans Windows 7, mais sur certaines versions de Windows Server il le fait .. ne me souviens pas lequel.

0

Me ressemble à 3 handshakes d'authentification standard (2 401 chacun) suivi d'un accès réussi (200). Si vous en voyez plusieurs rapidement, cela indique que les connexions au serveur ne sont pas réutilisées pour un accès ultérieur. Je ne suis pas un expert de wcf cela pourrait être que c'est normal, bien que je serais déçu si ceci n'a pas pu être configuré loin comment.

+0

Cela semble être le cas, mais c'est parce que j'ai supprimé certaines demandes non authentifiées pour raccourcir la publication. En réalité, il y a environ 30 demandes non authentifiées et seulement 5 authentifiées. –

Questions connexes