Dra*_*gan 8 silverlight wcf ria wcf-ria-services
我有一个非常简单的Silverlight应用程序示例.我使用具有一个实体的实体模型向其添加了域服务.客户端应用程序只是在启动时加载实体中的所有行.当我在我的开发盒上运行它时,它按预期工作.但是,当我将它移动到我们的测试服务器时,我得到一个异常,说我无法找到我正在调用的方法(查询'GetCTCStation'的加载操作失败.远程服务器返回错误.NotFound.).当我与Fiddler更密切地检查客户端/服务器通信时,我发现请求将转到http:// [server url] /ClientBin/SilverlightApplication7-Client-Web-CTCService.svc/binary.我将域服务添加到Web项目的根目录,所以我不明白为什么客户端在ClientBin目录中查找它.它显然不存在.我在这做错了什么?我从未与7月预览版RIA有任何问题.
它是相对的,但它会自动在Generated_Code文件中处理.并且webconfig中没有任何内容可供配置.我在创建域服务时使用了默认设置.我在实例化服务时尝试显式设置uri并发生了同样的异常.
经过长时间的斗争并尝试了许多不同的选择后,我终于找到了解决方案.这篇文章是关键:
基本上,在发布项目时,bin文件夹中没有包含一些dll.确保在引用下正确设置了以下dll(确保System.ComponentModel.DataAnnotations指向C:\ Program Files\Microsoft SDKs\RIA Services\v1.0\Libraries\Server\System.ComponentModel.DataAnnotations.dll):
System.ComponentModel.DataAnnotations和以System.Web开头的每个dll都需要将"Copy Local"设置为true.
构建项目并再次发布.这解决了我的问题.
我要感谢为解决这个问题做出贡献的每个人(在这个帖子和其他人中).