最近我正在部署 Silverlight RIA 应用程序。应用程序在测试机器上运行良好,当我将它移到生产服务器时出现问题。应用程序使用 Windows 身份验证。基本上我复制了测试机的环境 IIS 设置,然后复制了整个应用程序文件夹并修改了 web 配置。下面我列出了我遇到的问题和症状:
当我尝试从 PRODUCTION 服务器登录应用程序时,会出现登录框。显然服务器适用于 Windows 域。我无法使用我的域凭据登录。
当我尝试从外部机器登录应用程序时,还会出现日志框,但这次我可以使用我的凭据登录。出现提到的异常 (
System.ServiceModel.DomainServices.Client.DomainOperationException
)。这很奇怪,因为在测试服务器中我从来不需要传递我的 Windows 域凭据。
我使用提琴手检查 AuthenticationService.svc 调用的服务器响应:
@Fault5http://schemas.microsoft.com/ws/2005/05/envelope/none@Code@Value�Sender@Reason@Textxmllang�pl-PL@Detail@DomainServiceFaultDomainServices i)http://www.w3.org/2001/XMLSchema-instance@ ErrorCode��@ErrorMessage.nil�@IsDomainException�
此外,我还向应用程序添加了跟踪:
<source name="LANOS.Web.AuthenticationContext"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true" >
<listeners>
<add name="xml"/>
</listeners>
</source>
<source name="LANOS.Web"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
我知道谷歌有很多答案。然而,这个例外是相当普遍的,我还没有发现类似的问题。我已经尝试根据网络中的不同解决方案处理 DLL 并修改网络配置。没有任何帮助。