問題タブ [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.
asp.net - IsOneWay WCF サービスを呼び出してクライアントを適切に閉じる方法
私は WCF を初めて使用し、テスト Web サイトとサービスをセットアップしました。私は2つのことを達成しようとしています:
- ユーザーをブロックせずにサービスを呼び出す
- クライアントを適切に閉じます
Web サービスを作成し、それに isoneway 属性を与えました。ユーザーをブロックせずに呼び出すことができましたが、クライアントを閉じていないのではないかと心配しています。ユーザーをブロックせずにこのサービスを呼び出し、クライアントを適切に閉じるにはどうすればよいですか? 非同期メソッド (TestServiceAsync) を使用する必要がありますか? BeginXX、EndXX メソッドを使用する必要がありますか?
クライアント:
ウェブサービス:
ウェブ構成:
c# - IsOneWay = true の場合、HttpContext.Current.User は null です
私はwcfサービスを持っています。一方通行のものもあれば、そうでないものもあります。一方向ではないものはフォーム認証で動作し、HttpContext.Current.User を取得します。一方向のものは、HttpContext.Current.User で null を取得します。
直し方?
ASP.NET 互換モードを使用しています
.net - 現在のメソッドに IsOneWay のフラグが付いているかどうかを確認する方法
現在実行中の WCF メソッドが OneWay メソッドかどうかを知る方法はありますか?
私は httpBinding を使用していますが、質問はサーバー側に関連しています。
MSDN で OperationContext のプロパティを検索しましたが、見つかりませんでした。
編集:
OneWay 呼び出しの場合、ステータス コードは 202 になりますが、これは良い方法ではありません。
より良い方法はありますか?
c# - C# スレッド化を使用して Fire & Forget シナリオをシミュレートする
実行に時間がかかる Web サービスがあります。処理タスクをバックグラウンド スレッドに委任し、確認応答をすぐにユーザーに返すことを計画しています。
この場合、バックグラウンド スレッドの寿命が心配でした。
メイン メソッド/スレッドが実行を終了する前に、バックグラウンド スレッドは委任されたタスクを完了しますか?
wcf - Fitnesse で OneWay WCF 操作をテストする方法
現在のアプリケーションでは、操作コントラクトを一方向としてマークする必要がある WCF netMSMQBinding を使用しようとしています。
また、Fitnesse をテスト エンジンとして使用しようとしています。このテスト ケースでは、シナリオをエンド ツー エンドでテストする必要があります。これは、メッセージが配置されるとすぐに返されるため、一方向操作を使用できないことを意味します。 queue とfitnesse は結果をアサートしようとしますが、実際のメッセージではまだ処理されている場合とされていない場合があります。したがって、一方向の操作を使用する場合は、実行が完了するまで何らかの方法で待機する必要があります。
試したアプローチ/研究中..
構成を読み取ることにより、ホスティング時に OperationDescription を変更します。これにより、Fitnesse IsOneWay が False でホストされているが、実稼働環境では IsOneWay が True であり、その後、実稼働環境でのみユーザー MSMQ バインディングをテストし、tcp または netnamedpipe を使用するようになります。
カスタム ServiceHost を作成し、Service を開く前に OperationDescription を変更しようとしましたが、OperationDescription クラスの IsOneWay は読み取り専用プロパティであり、.Net Framework コードを見ると、メッセージの数が返されます。私の意見では、サービス ホストの CreateDescription 操作をオーバーライドし、カスタム実装を提供する必要があります。そうみたいです
メッセージが処理されるまで何らかの方法で待機するモニター フィクスチャを Fitnesse に作成します。
アプローチ 1: MessageId と完了ステータスを格納するカスタム db テーブルを作成し、各メッセージ処理の最後にそのテーブルにレコードを入力します。これで、fitnesse フィクスチャはテーブルをポーリングし、実行が完了するまで待機することができます。
アプローチ 2: 何らかの方法で MSMQ をポーリングし、メッセージがいつ処理されるかを把握します。どうすればうまくいくか、まだまだ研究中です。
現在のアプローチまたは新しいアプローチの指針を提案してください。