ADO.NETデータサービスでSilverlight2を使用しており、Silverlightページをテストするために、同じドメインで正常に機能するサービスを使用しました。次に、プロキシまたは中間サービス(Silverlightアプリと同じドメインにある)を使用することにしました。これは、基本的に別のドメインにあるサービスを表示するだけです(他のドメインのサービスのサービス参照で生成されたクラスを使用してローカルサービスで公開されている型と、Uriが指すように設定するコンストラクターを作成します)。内部アプリケーションにもサービスを使用するため、SilverlightサーバーをDMZに配置し、サービスを内部ドメインに配置したいので、この方法で実行したかったのですが、これはクロスドメインを回避する方法のようです。 Silverlightの制限。
次のクエリを使用すると、これは正常に機能します。
var questions = (from q in context.Question
select q)
しかし、次のようにexpandを使おうとするとすぐに:
var questions = (from q in context.Question.Expand("Answers")
select q)
次のような例外が発生します。
最後の投影後のクエリオプション(orderby、where、take、skip)のみを指定できます。
スタックトレースは次のとおりです。
System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable enumerable)at System.Data.Services.DataService 1.SerializeResponseBody(RequestDescription description, IDataService dataService)
at System.Data.Services.DataService
1.HandleNonBatchRequest(RequestDescription description)at System.Data.Services.DataService`1.HandleRequest()
この背後にある理由について誰かが何か提案がありますか?これはもちろん内部サービスでは問題なく機能しますが、クエリは構成可能であるため、プロキシサービスでも機能すると思いました...
どんな助けでも大歓迎です!