如何解决错误404-在Silverlight RIA服务调用上找不到文件
| 我到处都在寻找解决问题的方法,但是找不到。我已经构建了Silverlight 4导航应用程序,并且正在使用RIA Services处理自定义实体(该实体实际上正在运行对COM dll的服务器端调用)。在我的调试环境中,一切正常,但是当我尝试作为网站部署到IIS7(在开发机器上)作为网站时,在实体上调用Get查询时会出现以下错误:Load operation failed for query \'GetNewHWCoil\'. The remote server returned an error: NotFound.
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.<Load>b__17(Object )
我在网上找到的所有内容都要求检查IIS上的“身份验证”区域,并确保仅将其设置为“匿名身份验证”。他们还说要启用WCF日志记录,当我将必要的文本添加到web.config文件中时,我仍然没有任何日志记录。他们还说要使用Fiddler2来跟踪HTTP调用,但是在那儿我只能看到404错误,而textview给了我标准的IIS文件找不到网站。我不知道如何调试此问题。
Silverlight应用程序需要调用一组第三方COM dll来计算水盘管的性能。由于我不想让该应用程序运行OOB,(这会否定它是Web应用程序而不是WPF应用程序的全部要点),我有ASP.net项目使用自定义实体与dll进行交互。
函数(或称为RIA服务的查询)GetNewHWCoil位于DomainService类中,并使用以下代码:
Public Function GetNewHWCoil() as HWCoil \'HWCoil is a custom object
If bRanCalc then \'bRanCalc is a global boolean variable that gets set to true if the calc call on the dlls have been made
Return mHWCoil \'global copy of the calculated coil object
bRanCalc = False
else
Return New HWCoil
end if
End Function
该错误在应调用任何计算之前运行,因此假设该错误在“返回新HWCoil”部分上出现。
任何帮助,将不胜感激。
谢谢,
克里斯
解决方法
我找到了解决我问题的方法。我喜欢我可以让VS从IIS运行调试,当我创建虚拟目录时,它告诉我我需要在服务器上安装ASP.NET 4。我认为通过选中“添加Windows功能”对话框中的“ ASP.NET”复选框,我已经做到了。但是它仅安装.NET 2版本。因此,在网上寻找这个新问题之后,我发现我需要运行命令
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\aspnet_regiis -i
之后一切正常。
克里斯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。