問題タブ [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 投票する
1 に答える
361 参照

c# - WCF REST サービス: System.Net.Mime.ContentType は型ですが、変数のように使用されます

メソッドの 1 つでビデオを提供する必要がある WCF REST サービスがあります。インターフェイスは以下のようになります (問題がここにあるため、実装は提供しませんでした)。 [ContentType]は認識されますが、System.Net.Mime.ContentType is a type but is used like a variable.

助けてください!私は何をすべきかわからない

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

c# - OperationContract のコレクションの戻り値の型と DataContracts のリストに追加する方法は?

ビジネス ドメイン オブジェクト ( BDO ) クラスがあります。

そして、私はDataContractクラスを持っています:

そして、私のサービスレイヤーでは、BDOをに変換してから、の戻り値の型であるDataContractthis のリストを返そうとしました:DataContractOperationContract

これが私のサービスレイヤーでの最初の試みでした:

ご覧のとおり、シングルDataContractを に追加しようとしましたIList<DataContract>が、そうすると、そのリストの他のすべての項目がDataContract同じ詳細で同じものに変更されます。

したがって、私の質問は、 の正しい戻り値の型は何かOperationContract、クラスのリストを返す方法、DataContractおよびリスト内の他のすべての項目のデータを変更せずにそのリストに追加する方法です。

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

wcf - WCF SOAP Web サービスの wsdl で操作コントラクト タグを非表示にする方法はありますか?

たとえば、GetData() として操作コントラクトがある場合、それを wsdl に含めたくありませんが、メソッドは Action Attribute を使用してクライアントからアクセス可能であり、消費できるはずです。

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

c# - params 配列パラメーターを使用した WCF 操作コントラクト

この男は私と同じ問題を抱えていると思いますが、明確にする必要があります。

パラメータ付きのwcfサービス

とにかく、オブジェクトの params 配列と書式設定文字列を使用して String.Format と同じ方法で文字列を受け取る WCF 操作コントラクトを作成しようとしています。そうすれば、次のように操作を呼び出すことができます。

このようにする代わりに:

基本的に、オペレーション コントラクト メソッドは文字列を受け取りますが、便宜上、文字列をフォーマットされた形式で渡せるようにしたいだけです。関数を明示的に作成するだけでよいため、通常のメソッドではうまく機能しますが、WCF では、最初にこれをインターフェイス形式で記述しなければならないという課題があります。他の人は、すべてのオブジェクトがシリアライズ可能であるとは限らないと言いました。これを行うことは可能ですか?

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

c# - WCF Rest エンドポイントでパラメーター "params string[]" を使用する

任意の数の文字列パラメーターを渡すことができる OperationContract を定義したいと思います。値は、文字列の配列として解釈する必要があります。このタイプのパラメーターを OperationContract で使用し、これを UriTemplate で定義する可能性はありますか?

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

c# - WCF クライアントが接続に使用したコントラクト (複数のコントラクト) を (サーバー側で) 把握する方法は?

次の点を考慮してください。

1 つのマスター サーバーと、マスター サーバーと通信できる別の場所に複数のサーバーがあります。さらに (GUI) クライアントは各サーバーに接続できます。

だから私は誰もが知っている公開インターフェースを持っています:

さらに、サーバーはコールバック コントラクトをサポートしているため、マスター サーバーはそれに接続されているサーバーで要求をトリガーできます。

サーバーには2つの実装されたコントラクトがあることを意味します。そのため、マスター サーバーですべてのサブスクライバーを ( SubscribeI cache allOperationContextで) 反復し、クライアントのコールバック コントラクトを呼び出すと、タイムアウトするだけです。私はある種の ContractMismatch を予期していました。操作タイムアウト以外の何か (そしてすぐに!) ?!?

クライアントが接続に使用したコントラクト名も調べてみました ( OperationContext.Current)。しかし、それもうまくいきませんでした。IServerServiceではどちらの場合も言いOperationContext.Current.EndpointDispatcher.ContractNameます。

OperationContract接続時にクライアントが使用したものをサーバー側で把握する可能性はありますか?

もちろん、メソッドによってサーバー インターフェイスを拡張することもできますSubscribeServerが、それはかなり醜いように思えます。

編集

提案されたように、私は実装しましたMessageInspector。しかしAfterReceiveRequest、IClientChannel では正常にキャストできますICallback

さらに奇妙なのは、コールスタックに既に含まれていることReliableDuplexSessionChannelです:

これは、コールバック コントラクトが定義されているサービス クラスを実装する場合、IServerService接続しているすべてのクライアントが二重プロキシ経由でルーティングされることを意味しますか? クライアントが使用する (または実装する) コントラクトに関係なく?