我在任何地方都搜索解决方案以解决我的问题,但我无法找到它。我已经构建了一个Silverlight 4导航应用程序,并且正在使用RIA服务来处理自定义实体(实质上运行COM dll的服务器端调用)。在我的调试环境,一切工作正常,但是当我尝试部署到IIS7(在开发计算机上),作为一个网站,它呼吁实体获取查询时给了我以下错误:错误404 - 在Silverlight RIA服务调用中找不到文件
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
错误运行在任何计算应该叫过,所以假设它在'Return New HWCoil'部分出现错误。
任何帮助,将不胜感激。
感谢,
克里斯