問題タブ [isoneway]

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 に答える
906 参照

asp.net - IsOneWay WCF サービスを呼び出してクライアントを適切に閉じる方法

私は WCF を初めて使用し、テスト Web サイトとサービスをセットアップしました。私は2つのことを達成しようとしています:

  1. ユーザーをブロックせずにサービスを呼び出す
  2. クライアントを適切に閉じます

Web サービスを作成し、それに isoneway 属性を与えました。ユーザーをブロックせずに呼び出すことができましたが、クライアントを閉じていないのではないかと心配しています。ユーザーをブロックせずにこのサービスを呼び出し、クライアントを適切に閉じるにはどうすればよいですか? 非同期メソッド (TestServiceAsync) を使用する必要がありますか? BeginXX、EndXX メソッドを使用する必要がありますか?

クライアント:

ウェブサービス:

ウェブ構成:

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

c# - IsOneWay = true の場合、HttpContext.Current.User は null です

私はwcfサービスを持っています。一方通行のものもあれば、そうでないものもあります。一方向ではないものはフォーム認証で動作し、HttpContext.Current.User を取得します。一方向のものは、HttpContext.Current.User で null を取得します。

直し方?

ASP.NET 互換モードを使用しています

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

.net - 現在のメソッドに IsOneWay のフラグが付いているかどうかを確認する方法

現在実行中の WCF メソッドが OneWay メソッドかどうかを知る方法はありますか?

私は httpBinding を使用していますが、質問はサーバー側に関連しています。

MSDN で OperationContext のプロパティを検索しましたが、見つかりませんでした。

編集

OneWay 呼び出しの場合、ステータス コードは 202 になりますが、これは良い方法ではありません。

より良い方法はありますか?

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

c# - C# スレッド化を使用して Fire & Forget シナリオをシミュレートする

実行に時間がかかる Web サービスがあります。処理タスクをバックグラウンド スレッドに委任し、確認応答をすぐにユーザーに返すことを計画しています。

この場合、バックグラウンド スレッドの寿命が心配でした。
メイン メソッド/スレッドが実行を終了する前に、バックグラウンド スレッドは委任されたタスクを完了しますか?

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

wcf - Fitnesse で OneWay WCF 操作をテストする方法

現在のアプリケーションでは、操作コントラクトを一方向としてマークする必要がある WCF netMSMQBinding を使用しようとしています。

また、Fitnesse をテスト エンジンとして使用しようとしています。このテスト ケースでは、シナリオをエンド ツー エンドでテストする必要があります。これは、メッセージが配置されるとすぐに返されるため、一方向操作を使用できないことを意味します。 queue とfitnesse は結果をアサートしようとしますが、実際のメッセージではまだ処理されている場合とされていない場合があります。したがって、一方向の操作を使用する場合は、実行が完了するまで何らかの方法で待機する必要があります。

試したアプローチ/研究中..

  1. 構成を読み取ることにより、ホスティング時に OperationDescription を変更します。これにより、Fitnesse IsOneWay が False でホストされているが、実稼働環境では IsOneWay が True であり、その後、実稼働環境でのみユーザー MSMQ バインディングをテストし、tcp または netnamedpipe を使用するようになります。

    カスタム ServiceHost を作成し、Service を開く前に OperationDescription を変更しようとしましたが、OperationDescription クラスの IsOneWay は読み取り専用プロパティであり、.Net Framework コードを見ると、メッセージの数が返されます。私の意見では、サービス ホストの CreateDescription 操作をオーバーライドし、カスタム実装を提供する必要があります。そうみたいです

  2. メッセージが処理されるまで何らかの方法で待機するモニター フィクスチャを Fitnesse に作成します。

    アプローチ 1: MessageId と完了ステータスを格納するカスタム db テーブルを作成し、各メッセージ処理の最後にそのテーブルにレコードを入力します。これで、fitnesse フィクスチャはテーブルをポーリングし、実行が完了するまで待機することができます。

    アプローチ 2: 何らかの方法で MSMQ をポーリングし、メッセージがいつ処理されるかを把握します。どうすればうまくいくか、まだまだ研究中です。

現在のアプローチまたは新しいアプローチの指針を提案してください。