0

サービス中の私の機能は次のようになります。

    public List<X> GetAll(string num)
    {
       TheContext  Mycontext = new TheContext();
        IEnumerable<X> MyIEnumerable =
     ((IObjectContextAdapter)Mycontext)
     .ObjectContext.ExecuteStoreQuery<X>("select * from dbo.XXX where y='"+num+"'");

        List<X> MyList = MyIEnumerable.ToList();
        return MyList;
    }

ここにリストはOKです。

私のクライアントは次のようになります。

static void Main(string[] args)
    {
        MyClient proxy = new MyClient ();
        List<X> MyClientList = proxy.GetAll("980").ToList();
        proxy.Close();
        Console.ReadLine();
    }

ここにエラーがあります:

HTTP応答の受信中にエラーが発生しました。これは、HTTPプロトコルを使用していないサービスエンドポイントバインディングが原因である可能性があります。これは、サーバーによってHTTP要求コンテキストが中止されたことが原因である可能性もあります(おそらくサービスのシャットダウンが原因です)。詳細については、サーバーログを参照してください。

私がこのような関数から戻った場合、この作業は次のようになります。

public List<X> GetAll(string num)
 {
   List<x> MyList= new List<x>();
   MyList.Add(new X(){...});
   MyList.Add(new X(){...});
   MyList.Add(new X(){...});   
    return MyList;
 }
4

1 に答える 1

1

objectメソッドシグネチャで本当にtypeを使用していますか?戻りタイプが属性Serializableでマークされているかどうかを確認する必要があります。DataContractおそらくそれが問題です。

于 2012-10-21T09:01:18.690 に答える