我开发了一个使用 Silverlight 和 WCF Ria 服务的应用程序。
该应用程序必须托管在使用 IIS 5 的 Windows XP 机器上。由于我在网上找到的信息,我确实部署了应用程序,没有任何问题。但是现在当我的应用程序尝试执行第一个 WCF 查询时,我遇到了这个错误:
Message: Unhandled Error in Silverlight Application Load operation failed for query 'Login'. [HttpWebRequest_WebException_RemoteServer] Arguments: NotFound Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.10411.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error) at System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.End(IAsyncResult result) at System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.<>c_DisplayClass1.b_0(Object state) at System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.RunInSynchronizationContext(SendOrPostCallback callback, Object state) at System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.HandleAsyncCompleted(IAsyncResult asyncResult) at System.ServiceModel.DomainServices.Client.AsyncResultBase.Complete()
at System.ServiceModel.DomainServices.Client.ApplicationServices.WebAuthenticationService.HandleOperationComplete(OperationBase operation) at System.ServiceModel.DomainServices.Client.LoadOperation.<>c_DisplayClass41.<Create>b__0(LoadOperation
1 arg) at System.ServiceModel.DomainServices.Client.LoadOperation`1.InvokeCompleteAction() at System.ServiceModel.DomainServices.Client.OperationBase.Complete(Exception error) at System.ServiceModel.DomainServices.Client.LoadOperation.Complete(Exception error) at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) at System.ServiceModel.DomainServices.Client.DomainContext.<>c_DisplayClass1b.b__17(Object )
我该如何解决这个错误?
应用程序在 Windows 7 机器上的 IIS 7 上成功托管,wcf ria 也可以正常工作。
更新:使用 Fiddler 后,我发现我的应用程序的错误是 404 ,Silverlight 找不到 Ria Services 。
最佳答案
NotFound 在这种情况下意味着服务器上的任何错误。您需要获取详细的 WCF 日志。
我建议您将以下内容添加到 web.config 文件以启用 WCF 日志记录:
<configuration>
... your regular configuration here ...
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All" propagateActivity="true">
<listeners>
<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\wcflogs\your_wcf_service_log.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>
然后您可以使用服务跟踪查看器工具 (SvcTraceViewer.exe) 打开 .svclog 文件
并详细了解发生了什么。
关于IIS 5 上的 Silverlight 5 WCF Ria 服务 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16004517/