0

我创建了一个简单的 Silverlight 插件,它调用 WCF RIA 服务来检索数据。这在 Windows 7 机器上开发并在 VS2010 Cassini 环境中运行时工作正常。

但是,在我的笔记本电脑(一台装有 IIS 5.1 的 Windows XP 机器)上运行我的应用程序,每次我在 Cassini 或托管 IIS 中从我的 Silverlight 插件调用该服务时都会出现错误:

System.ServiceModel.DomainServices.Client.DomainOperationException:查询“GetInfo”的加载操作失败。远程服务器返回错误:NotFound。---> System.ServiceModel.CommunicationException:远程服务器返回错误:NotFound。---> System.Net.WebException:远程服务器返回错误:NotFound。---> System.Net.WebException:远程服务器返回错误:NotFound。在 System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 在 System.Net.Browser.BrowserHttpWebRequest.<>c_ DisplayClass5.b _4(Object sendState) 在 System.Net.Browser.AsyncHelper.<>c_ DisplayClass4.b_1(Object sendState) --- 内部异常堆栈跟踪的结束 --- 在 System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在 System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) 在 System .ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) --- 内部异常堆栈跟踪结束 --- 在 System.ServiceModel.DomainServices.Client.WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult) 在 System.ServiceModel System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) 处的 .DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult) --- 内部异常堆栈跟踪结束 ---} System.Exception

如何在 Windows XP 上创建 Silverlight 和 RIA 服务环境?

环境:

视窗

视觉工作室 2010

.NET 框架 4

查询返回错误大约需要 7 秒

已安装 RIA 服务 SDK

已安装 RIA 服务工具包

已安装 Silverlight 开发者运行时

已安装 Silverlight 4 SDK

4

1 回答 1

0

我已经解决了这个问题,但我无法确定为什么这个服务可以在我的 Windows 7 机器上运行。

问题是我在我的一个 Linq to Sql 类中伪造了外键关系,我在服务中检索了该类。基本上,我已经将 Linq to Sql 类扩展为具有基于非官方外键值获取子记录的属性。当我的 Silverlight 应用程序尝试从服务加载父对象时,它在引用我创建的扩展属性时出错。

通过修改扩展属性使其不对数据库进行新调用,我能够成功使用该服务。

我可能需要更改代码的提示是我在 Visual Studio 错误列表中看到的警告消息。

于 2011-09-08T18:26:00.237 回答