我有一个带有两个ria域服务(ado.net datasservices)的silverlight应用程序。直到最近,我把这两个服务都放在一个"WCF RIA服务类库"中,一切都运行得很好。
昨天我们决定将服务拆分到单独的库中(在这个过程中破坏了许多引用和命名空间)。一切都重新组合在一起并再次编译,但是现在当我们试图运行应用程序时,我们得到一个错误:
远程服务器返回一个错误:NotFound。
Fiddler揭示了更多:
HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下URL,并确保其拼写正确
/ClientBin/DisMembershipService-Web-AuthenticationService.svc/二进制/GetUser
在我看来,服务不是在clientBin文件夹中生成的。我很茫然,用来生成的服务,所以我一定错过了什么。什么好主意吗?
找到了自己的解决方案。事实证明,当你有多个WCF RIA服务类库时,网站项目需要同时引用这两个库,否则它不会生成服务。
反过来,silverlight主项目需要引用两个客户端ria项目,否则服务文件将在silverlight主项目和客户端ria项目中生成,导致重复错误。