我有一个Silverlight客户端,它有一些问题通过WCF basicHttpBinding
与服务器通话。服务配置如下:Silverlight客户端标识不总是传递给服务器?
<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>
服务器是配置为使用集成身份验证的IIS6 Web服务器。应用程序池标识是一个域帐户。
现在,从Silverlight客户端到Web服务器的一些调用包括客户端标识(访问客户端的域用户),有些则不是!我已经包含了IIS的一部分日志显示此:
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
如果滚动有点到右侧,可以看到一些请求的身份是已知的(BROWNIE\TestUser
)。然而,对于大多数请求,情况并非如此。就好像客户随机选择何时发送身份一样。
有没有人见过这种行为,并找到了解决办法?
居然遇到与应用程序的工作方式有问题? – AnthonyWJones 2009-12-09 15:56:07
是的,一段时间后,客户端浏览器上会显示身份验证弹出窗口。之后,客户端应用程序停止工作。 – 2009-12-09 16:45:01