2010-12-14 15 views
0

私は、Silverlightプロジェクトを持つVisual Studioソリューションと、SilverlightアプリケーションをホストするWebプロジェクトを持っています。 Webプロジェクトには、Silverlight APIによって呼び出されるASMX Webサービスも含まれています。Silverlight4 ASMX Webサービスを呼び出す

以下に説明するように、Webサービスへの特定の呼び出しが正常に動作し、さらにはCommunicationExceptionがスローされ、WebExceptionがラップされます。「サーバーは次のエラーを返しました: '見つかりませんでした。

はまず、ここでは上記のように失敗した私のオリジナルの方法は、(エンティティ名を簡単にするために変更)です。第二に

[WebMethod] 
public Customer GetCustomer(int id) 
{ 
    CustomerDataContext dc = new CustomerDataContext(); 
    return dc.Customers.SingleOrDefault(x => x.Id == id); 
} 

、画像のうち、私はLINQ to SQLのを取り、問題とデータベースをデバッグするために、以下のコードはうまく働いた:

[WebMethod] 
public Customer GetCustomer(int id) 
{ 
    Customer c = new Customer() { ID=1, Name="Bob", History = new EntitySet<CustomerHistory>() }; 
    return c; 
} 

第三に、このことを考え、二つの方法の違いの1つは、最初のものは、顧客の歴史の中で値が含まれるということです。私はこれを含めるように第二の方法を拡張し、それが再び失敗しました:

[WebMethod] 
public Customer GetCustomer(int id) 
{ 
    Customer c = new Customer() { ID=1, Name="Bob", History = new EntitySet<CustomerHistory>() }; 
    c.History.Add(new CustomerHistory() { Id=1, CustomerId=1, Text="bla" }); 
    return c; 
} 

私が進行する方法に関してこだわっている - 私の現在の考え方は、これはSilverlightの側のデシリアライズ問題になる可能性があることだ、ときオブジェクトグラフはより深い。合理的には合理的ではありませんが、他のことは考えられません。転送サイズとバッファサイズが十分に大きいことを確認しました(デフォルトでは2GB)。

何か指摘していただければ幸いです。

+0

あなたはそれが動作するかどうかだけ確認するためにCustomerHistoryのリストを返すようにしようとしたことがありますか? – thomasmartinsen

+0

サービスリファレンスまたはウェブリファレンスを使用していますか? –

答えて

関連する問題