問題タブ [wcf-binding]

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 投票する
2 に答える
4011 参照

.net - HttpBinding での HTTP 認証の前に WCF で HTTP ヘッダーを操作する

これは、この質問に関連しています

この WCF サービスをカスタム サービス ホストでホストしています。IIS はオプションではありません。

リクエストプロセスの早い段階でサーバースタックにHTTP「Authenticate」ヘッダーを挿入する方法はありますか(欠落している場合)-匿名リクエスト用に用意した認証/承認プロセスにデフォルトユーザーを渡すことができます?

これを受信側に注入するには、サーバーが必要です-さらにWCFを処理する前に...

カスタム BindingElement を使用するか、WebHttpBinding を拡張することでこれを実行できると確信していますが、例やガイダンスをいただければ幸いです。WCF で初期のヘッダー操作 (認証前) の例を見つけることができません。

0 投票する
4 に答える
5283 参照

wcf - net.pipeを使用して、ホストとクライアントの両方が同じプロセスにあるFaultContractsをサポートするようにWCFをどのように構成しますか?

net.pipeバインディングを使用して、サービスとクライアントの相互作用のインプロセス単体テストを作成しようとしています。優れたWCFサービスと同様に、サービス操作でFaultContractAttributeを使用して、発生する可能性のある障害(ラップされた例外)をメタデータに公開します。XML (App.config)を使用してクライアントエンドポイントとサービスエンドポイントを構成したいと思います。 ただし、障害がスローされるたびに、それは単にCommunicationExceptionの「パイプが閉じられました」であり、私が期待していた型指定された障害ではありません。

net.pipeにIMetadataExchangeエンドポイントを追加しようとしましたが、機能しませんでした。私も試しました。Vista上にあるため、httpエンドポイントのACLをnetshする必要がありました。それもうまくいきませんでした。

カスタム例外クラス:

これは構成での最新の試みですが、「サービスによって実装されたコントラクトのリストにコントラクト名'IMetadataExchange'が見つかりませんでした」というメッセージが表示されます。

これを行う方法の例または推奨事項へのリンクをいただければ幸いです。

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

wcf - タイムアウト WCF サービス

タイムアウトは WCF でどのように機能しますか? たとえば、クライアント バインディングのsendTimeoutreceiveTimeoutを構成できることを知っています。しかし、それらはどのように機能しますか?

MSDN はsendTimeoutを次のように説明しています。

送信操作が完了するまでの時間間隔を指定する TimeSpan 値。この値はゼロ以上である必要があります。デフォルトは 00:01:00 です。

送信操作/受信操作とは何ですか?

0 投票する
4 に答える
9639 参照

.net - WCFバインディング-非常に多く!どうすれば選べますか?

基本的にスクリプトとcsvファイルを受け取り、一部のデータを処理して結果をテキストとして返すRサーバー(Rは統計分析で使用されるプログラミング言語)があります

.netクライアント(.Net WindowsフォームまたはASP.Netなど)がRサーバーに接続し、スクリプトとCSVファイルを送信して結果を取得できるように、Rサーバーにサービスを作成する必要があります。

私は利用可能な多くの異なるバインディングに混乱しており、Web上の情報は、どれを選択するかについてまばら/散在しているようです。

また、IISでサービスを実行するのが最善ですか、それとも別の「コマンドライン」タイプのリスナーサービスとして実行するのが最善ですか(後者はIISと比較して醜いようで、IISで実行できるのになぜ誰かがこれを選択するのかわかりません) )?

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

.net - ロード バランサーの背後にある WCF - セットアップ方法

ロードバランサーを使用する Web サーバーがいくつかあります。マシンはポート 81 で IIS6 を実行しています。外部からは、ポート 80 を使用してサイトにアクセスできます。外部名とマシンの名前は異なります。

私たちは得ています

web.config の関連部分は次のとおりです。

listenUri を追加しようとしましたが、問題は解決しませんでした。

何か案は?

0 投票する
10 に答える
106318 参照

.net - WCF エラー: 呼び出し元がサービスによって認証されませんでした

テストのために、クライアント コンソール アプリケーションからサーバー上の WCF サービスにアクセスしようとしています。次のエラーが表示されます。

呼び出し元がサービスによって認証されませんでした

を使用してwsHttpBindingいます。サービスが期待している認証の種類がわかりません。



更新IIS 7.0 でホストされている Windows 2008 サーバーで バインディングを<endpoint "basicHttpBinding" ... />(wsHttpBinding から)に変更すると機能します

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

vb.net - WCFサーバー/クライアント接続の処理

WCFサーバーとクライアントの接続に問題があります。

サービスとクライアントを通常どおりに使用する場合、つまり、クライアントが通常の操作(myclient.Close())を介して接続および切断する場合、すべてが正常に機能します。しかし、サーバーを実行していて、Visual Studioの[停止]ボタンを使用してクライアントアプリケーションを終了した場合、サーバーとクライアントの通信が混乱しているように見え、サーバーは接続と新しい接続を正しくクリーンアップしません。私のクライアントからの送信は非常に不安定で、1つの関数が次の例外をスローするまで、特定の関数呼び出しのみが機能します。

System.ServiceModel.CommunicationException:http:// localhost:8080 / Design_Time_Addresses / Service_Beta1/ServiceへのHTTP応答の受信中にエラーが発生しました。これは、HTTPプロトコルを使用していないサービスエンドポイントバインディングが原因である可能性があります。これは、サーバーによってHTTP要求コンテキストが中止されたことが原因である可能性もあります(おそらくサービスのシャットダウンが原因です)。詳細については、サーバーログを参照してください。---> System.Net.WebException:基になる接続が閉じられました:受信時に予期しないエラーが発生しました。

そしてその後の多くの他の例外、そして私はあなたがそれらを読むのを惜しまないでしょう。

サーバーとクライアントをシャットダウンして両方を再起動すると、Visual Studioで大幅な「停止」を実行するまで、すべての呼び出しが正常に機能します。サーバーに不適切に閉じられた接続をクリーンアップさせるにはどうすればよいですか?本番環境では「停止」ボタンがなくなっており、理論的には問題はないはずですが、クライアントのクラッシュや接続不良によるサーバー接続の問題は発生したくありません。必然的にそういう場合があるからです。20以上のクライアントが接続を試みて例外を取得する前に、今すぐこれを修正することをお勧めします。

ありがとう

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

wcf - 複数のエンドポイントと同時処理を備えた msmq

MSMQ バインディングをすべて使用して、条件付きで一方向サービスを複数のエンドポイントにルーティングする WCF ロード バランサー/ルーターを構築しました。また、ルーターからのすべてのエンドポイントを使用してサービス呼び出しを受け入れるホストも作成しました。すべてのエンドポイントが同じコントラクトを指定します。

各キュー (エンドポイント) を同時に処理する必要がありますが、各サービス呼び出しは順次処理する必要があります。

InstanceContextMode = InstanceContextMode.Single および ConcurrencyMode = ConcurrencyMode.Single を使用してみましたが、これにより、すべてのエンドポイントを処理する単一のインスタンスしか得られません。InstanceContextMode = PerCall は、必要な順序を保証しません。
必要なのは、同時に実行されるエンドポイントごとに 1 つのサービス インスタンスです。

また、 ServiceBehavior を使用してさまざまな順列を試しました

MSMQ バインディングを使用して WCF でこれを達成するにはどうすればよいですか?

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

.net - WCFで名前付きパイプバインディングを自動的に再接続するにはどうすればよいですか

ローカル ホストからの呼び出しのみを受け取るサービスを作成しています。パフォーマンスは重要なので、NetTcpBinding の代わりに NetNamedPipeBinding を試して、顕著パフォーマンスの向上が見られるかどうかを確認しようと考えました。

サーバーに対して 1 つ以上の要求を実行した後、クライアントが長時間アイドル状態の場合、バインディングのアイドル タイムアウトが原因で、次の要求が失敗するように見えます。サービスが再起動されたときも同じことが起こります。

新しい接続のセットアップに伴うオーバーヘッドを回避するために、クライアントが許可されている限り接続を開いたままにしておく必要があります。また、サービスを時々再起動し、クライアントが接続が終了したことに気付いた場合に自動的に再試行できるようにする必要もあります。

これが NetTcpBinding の信頼性によってサポートされていることは知っていますが、NetNamedPipeBinding で同じレベルの再接続の信頼性を得るにはどうすればよいでしょうか? それは可能ですか?

NetNamedPipes を使用する必要がないため、質問はやや学術的です。tcp バインディングを使用するためにそれを簡単に採用できますが、それはかゆいので、本当にスクラッチしたいと思います。

0 投票する
34 に答える
374530 参照

wcf - デフォルトのエンドポイント要素が見つかりませんでした

VS2008/.NET 3.5 ソリューションの Web サービスにプロキシを追加しました。クライアント .NET を構築するときに、次のエラーがスローされます。

ServiceModel クライアント構成セクションで、コントラクト 'IMySOAPWebService' を参照する既定のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。

このエラーを検索すると、コントラクトで完全な名前空間を使用するように指示されます。完全な名前空間を持つ私の app.config は次のとおりです。

私はXPローカルを実行しています(これについて言及するのは、多くのGoogleヒットがwin2k3に言及しているためです)app.configはapp.exe.configにコピーされるため、これも問題ではありません。

手がかりはありますか?