1

dataTable を返す webservices メソッドを作成しました。ただし、次のエラーが表示されます。

基になる接続が閉じられました: 接続が予期せず閉じられました

これはIWSファイルの私の方法です

[ServiceContract]
 public interface IWsBabyCare
 {
    [OperationContract]
    DataTable GetPurchaseOrderDetails();

    [OperationContract]
    DataTable GetPurchaseOrders(int PODID);

  }

そして、これはWSファイルでの私の方法です

public DataTable GetPurchaseOrderDetails()
{
    DataTable POD = new DataTable("POD");
    PurchaseOrderBLL prodBLL = new PurchaseOrderBLL();
    POD = prodBLL.GetPOD();
    POD.TableName = "POD";
    return POD;

}

public DataTable GetPurchaseOrders(int PODID)
{
    PurchaseOrderBLL prodBLL = new PurchaseOrderBLL();
    return prodBLL.GetPurchaseOrders(PODID);
}

データテーブルに名前を追加すると役立つことをオンラインで読みましたが、空のdataTableを返すだけです。

4

1 に答える 1

0

発生している例外には、約500 の異なる原因が考えられます。

現時点で言えることは、いくつかの操作を定義するサービス インターフェイスがあり、その操作が実装されているということだけです。

サービスがホストされている方法 (コンソール、IIS?)、またはサービスとクライアントで指定された WCF 構成については何も知りません。質問でこの情報を提供する必要があります。

さらに、サービス操作DataTableは、大きなWeb サービスである戻り値の型を指定します。必要なデータを正確に定義する型を渡す必要があります (たとえば、データベース テーブルにリンゴが含まれている場合は、戻り値の型List<Apple>.

これが私があなたが進めるべきことを提案する方法です。

  1. コンソール ベースのサービスとクライアント プロジェクトを作成します。
  2. 文字列などのプリミティブ型を返す単一のサービス操作を作成します。
  3. すべてのコードをできるだけシンプルにします。サービスとクライアントのそれぞれで、10 行未満のコードと約 10 行の xml 構成でこれを機能させることができるはずです。
  4. これが機能するようになったら、新しい操作とより複雑な戻り値の型を徐々に追加してください。
于 2012-12-10T09:00:48.740 に答える