2008-12-22 65 views
1

我们将Silverlight 2与ADO.NET dataservices配合使用,并测试silverlight页面我们在同一个域中使用的服务工作正常。然后,我们决定尝试使用代理服务器或中间服务(与Silverlight应用程序位于同一个域中),这些服务基本上只是表示位于另一个域中的服务(使用在另一个域中的服务的服务引用中生成的类作为这个类型暴露在我们的本地服务中,并创建一个构造函数,让Uri指向它)。我们希望这样做,因为我们希望我们的Silverlight服务器位于DMZ中,并且我们的服务位于内部域,因为我们也将使用该服务用于内部应用程序,这似乎是解决跨域问题的方法Silverlight的局限性。Silverlight中的ado.net dataservice

var questions = (from q in context.Question 
          select q) 

但只要我们试图用扩大为:

var questions = (from q in context.Question.Expand("Answers") 
          select q) 

我们得到一个异常说明:

当我们用下面的查询也能正常工作只能在上次投影后指定查询选项(orderby,where,take,skip)。

当堆栈跟踪是:

在System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable的枚举) 在System.Data.Services.DataService 1.HandleNonBatchRequest(RequestDescription介绍) 在System.Data .Services.DataService`1.HandleRequest()

有没有人有任何建议,背后的原因?这对当然的内部服务工作正常,但我会认为,因为查询是可组合的,这也会对代理服务工作太...

任何帮助将不胜感激!

回答

1

我们设法通过在客户端使用LoadProperty方法来解决此问题。以便我们检索所有问题,然后调用LoadProperty(“答案”)和问题。

相关问题