IIS 5上的Silverlight 5 WCF Ria服务404错误

时间:2013-04-14 21:27:18

标签: silverlight iis wcf-ria-services

我使用Silverlight和WCF Ria Services开发了.an应用程序。
应用程序必须是使用IIS 5的Windows XP计算机上的主机。
由于我在网络上找到的信息,我确实部署了应用程序没有任何问题。
但是现在当我的应用程序尝试执行第一个WCF查询时,我遇到了这个错误:

  

消息:Silverlight应用程序加载操作中的未处理错误   查询“登录”失败。 [HttpWebRequest_WebException_RemoteServer]   参数:NotFound调试资源字符串不可用。经常   关键和参数提供了足够的信息来诊断   问题。看到   http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.10411.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer   在   System.ServiceModel.DomainServices.Client.OperationBase.Complete(例外   错误)   System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.End(IAsyncResult的   结果)在   System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation<> C_ DisplayClass1.b _0(对象   国家)   System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.RunInSynchronizationContext(SendOrPostCallback   回调,对象状态)at   System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation.HandleAsyncCompleted(IAsyncResult的   asyncResult)at   System.ServiceModel.DomainServices.Client.AsyncResultBase.Complete()
  在   System.ServiceModel.DomainServices.Client.ApplicationServices.WebAuthenticationService.HandleOperationComplete(OperationBase   操作)   System.ServiceModel.DomainServices.Client.LoadOperation&LT;&GT; C_ DisplayClass4 1.<Create>b__0(LoadOperation 1   arg)at   System.ServiceModel.DomainServices.Client.LoadOperation`1.InvokeCompleteAction()   在   System.ServiceModel.DomainServices.Client.OperationBase.Complete(例外   错误)   System.ServiceModel.DomainServices.Client.LoadOperation.Complete(例外   错误)   System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult的   asyncResult)at   System.ServiceModel.DomainServices.Client.DomainContext&LT;。&以及c _DisplayClass1b.b__17(对象   )

如何修复此错误?
在Windows 7机器上的IIS 7上成功托管的应用程序和wcf ria也一样。
更新:使用Fiddler后我发现我的应用程序错误是404,Silverlight无法找到Ria Services。

2 个答案:

答案 0 :(得分:0)

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文件 看看发生了什么事。

答案 1 :(得分:0)

尝试在服务器上重新安装RIA服务。

我认为命令是 RiaService.msi Server = true

重新安装后,尝试直接在Web浏览器上访问您的服务。您服务的网址为http://YOURDOMAIN.COM/YourAPP/Full-NameSpace-Of-Class.svc

在命名空间中,你必须用破折号( - )

来改变点(。)

如果它没有返回响应,那么您必须验证WCF已安装并在IIS中注册。