問題タブ [operationcontract]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4338 参照

wcf - WCF MessageContract の継承

私は WCF にかなり慣れていないので、MessageContract の継承を正しく機能させる方法について質問があります。私のセットアップの簡略化されたバージョンは次のとおりです-「ベース」メッセージタイプと、それを継承する別の「テスト」メッセージ。

次に、ServiceContract に非同期の OperationContract を次のように定義します。

私が得ている問題は、BeginFindRequest メソッドを呼び出し、要求パラメーターの TestMessage インスタンスを渡すときに、WCF フレームワークがサービス/サーバー側で TestMessage インスタンスを BaseMessage に逆シリアル化していることです。これは抽象クラスとして定義されているため、次のエラーが発生します。

「メッセージにはデフォルトの (パラメーターなしの) コンストラクターがないため、メッセージを MessageContract タイプの BaseMessage に逆シリアル化することはできません。」

MessageContract の継承に関する限られた情報から、それは機能するはずです。

私の質問は、これを機能させるために何が欠けているかです。それとも、そのタイプ専用の ServiceContract に個別の OperationContract を定義する必要がありますか?

0 投票する
3 に答える
3903 参照

wcf - WCF: 多くのメソッドで同じ Faultcontract

たとえば、10 個のサービスと各サービスに 20 個のメソッドがあるプロジェクトを考えてみましょう。

すべてのサービスは、セキュリティ チェックのある基本サービスから継承されます。各メソッドが最初に行うことは、セキュリティ チェックを呼び出すことです。問題がある場合、これによりセキュリティ例外がスローされます。

質問: 各メソッド (OperationContract) で FaultContract を指定する必要がありますか? それとも、中央の定義で一度指定できますか?

0 投票する
2 に答える
14604 参照

c# - WCF OperationContract-どの汎用コレクションタイプを公開する必要がありますか?

ジェネリックコレクションを返すメソッドを持つWCFWebサービスがあります。さて、私の質問は次のとおりです。、、、、または他の何かとして公開する必要がICollection<T>ありList<T>ますか IList<T>IEnumerable<T>

CA1002エラーList<T>を回避したいので、それは問題外だと思いますが、基になるタイプはです。List<T>

私は、これについてのあなたの見解を聞くことに本当に興味があります。できれば、あなたが自分の考えを考える理由をよく説明してください。

前もって感謝します

0 投票する
1 に答える
982 参照

ajax - 「OperationContractAttribute」+wcfの「AsyncPattern」プロパティの使用は何ですか?

したがって、使用済みのajax対応のwcfサービスでは、DBからレコードを取得し、 ...AsyncPatternのプロパティを使用せずにクライアントに表示します。OperationContractAttribute

  • いつ私はAsyncPattern財産を考慮すべきですか?

私の操作契約方法のサンプル、

0 投票する
2 に答える
6010 参照

c# - 同じ名前の異なるサービス コントラクトで 2 つの操作コントラクトを実装する WCF クラス

次の 2 つのサービス契約を宣言しました。

これら 2 つのコントラクトを実装するクラスがあります。両方のコントラクトに 2 つのエンドポイントを作成しました。しかし、クライアント コードからサービスにアクセスできません。サービス参照を次のように更新しようとすると、大きなエラーが表示されます。

メタデータに解決できないエラーが含まれています... などでリッスンしているエンドポイントがありませんでした。

同じ名前の を2 つ持つことはできないことはわかっていますがOperationContract、同じ名前で署名が異なる異なるサービス コントラクトで 2 つの操作コントラクトを持つことは可能ですか?

0 投票する
2 に答える
1892 参照

c# - WCF では、複数の操作コントラクトを持つ方が良いですか、それともポリモーフィック データ コントラクトを使用する操作を 1 つだけ持つ方が良いですか?

WCF では、複数の操作コントラクトを使用する方が良いのか、ポリモーフィック データ コントラクトを使用する操作コントラクトを 1 つだけ持つ方が良いのか疑問に思っていました。

ちょっとした例を挙げましょう:

また

アクション コントラクトは、action1Contract と action2Contract の両方が継承する抽象クラスになります。アクション コントラクトはdo()、そのインターフェイスでメンバー関数を指定し、子クラスでオーバーロードする必要があります。

個人的には、派生した actionContract でデータとアクションを適切にカプセル化でき、新しいアクションを簡単に追加できるため、2 番目のアプローチの方が興味深いと思います。しかし、私が WCF を使用するのは初めてなので、おそらくよく知っているでしょう!

0 投票する
1 に答える
774 参照

c# - WCF コントラクトの設計 (操作/データ)

私は現在、いくつかの WCF サービスの設計を検討しており、操作/データ コントラクトを処理する最善の方法についてコミュニティの意見を得たいと考えていました。

私は 2 つの基本的な操作契約を持っています。1 つ目は見積もりを作成し、2 つ目はアイテムを見積もりに追加します(そして、舞台裏で合計を計算します)。

1 つ目は、顧客情報店舗情報を受け取り、 quoteを返します。

2 つ目は、見積もりアイテム オブジェクトを受け取り、合計を計算して、アイテムを含む見積もりを返します

私の質問は、このシナリオでデータ コントラクトを設計する方法についてです。

CreateQuoteの場合、顧客プロパティと店舗プロパティを設定して見積もりオブジェクトを渡す必要がありますか、それとも顧客と店舗オブジェクトを含むが見積もりオブジェクトを渡さない何らかの種類の QuoteRequest オブジェクトが必要ですか?

AddQuoteItemの場合、Quote オブジェクトを含む必要なプロパティ セットを使用して QuoteItem オブジェクトを渡す必要があります。または、Quote オブジェクトとアイテム オブジェクト (関係なし) を持つ QuoteItemRequest オブジェクトが存在し、QuoteItem オブジェクトを使用して再計算された Quote が存在する必要があります。戻ってきた?

言い換えれば、彼らはこのように見えるべきですか?

それとも、彼らはこのように見えるべきですか?

0 投票する
3 に答える
1323 参照

.net - ジェネリック WCF OperationContract を作成して SQL テーブルからデータを取得する方法

データベースから取得されるテーブル用の .net インターフェイスを作成するタスクが与えられました。

インターフェイスが実行しなければならない明白なことの 1 つは、テーブルからデータを取得することです。

Select * from MyTable;だから....単純に実行して結果を返す関数を書くことができます。ただし、テーブルには 10 個の列があり、インターフェイスを使用しているユーザーが 1 つ以上の列でデータをフィルター処理する必要がある場合があります。のようなものが必要かもしれませんSelect * from MyTable where LastName like 'A%';。テーブルからデータをダウンロードするための柔軟な単一エントリ ポイントになるようにインターフェイスを設計するにはどうすればよいですか?

サーバーからテーブル全体を取得し、結果を .net コードでフィルタリングするソリューションは、帯域幅の問題から受け入れられないと言われています。

注:また、SQL テーブルからデータを取得するコードが WCF サービスとして呼び出されることも付け加えておきます。ただし、データは取得されますが、参照としてではなく、シリアル化可能なデータとして呼び出し元に返される必要があります。

明確化:「インターフェース」とは、単に SQL テーブルからデータを取得するために呼び出される関数を意味していました。「インターフェース」という用語が少し混乱していることに気づきました。私がしていることを正確に表す言葉がありますが、それが何であるかはわかりません。

0 投票する
2 に答える
21971 参照

c# - 必要に応じてOperationContractのパラメーターを指定する方法

生成されたxsdにminOccurs="0"ではなくminOccurs="1"が含まれるように、必要に応じてWCFでOperationContractメソッドのパラメーターを指定するにはどうすればよいでしょうか。

例:

このxsdを生成します:

しかし、xsdファイルで手動で修正する必要なしに、コード内でminOccurs="1"を定義したいと思います。