問題タブ [message-handlers]

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

c# - HttpContent の最初の n 文字を読み取る

Visual C# Web API プログラムで HttpRequestMessage 応答に関する情報をログに記録したいと考えています。次のようなメッセージ ハンドラー (DelegatingHandler から継承) を使用したい:

問題は、result.Content場合によっては巨大になることです。そのため、最初の N 文字 (約 50 文字) のみを印刷するように制限したいと考えています。

私が試したこと:

  • toString()を使用して全体を文字列にコピーしSubStringます。これはまさに私が望むことですが、巨大な文字列をメモリに読み込んでから最初の数文字だけを使用するのは無駄に思えます.もっと良い方法が必要だと思います.
  • 文字を読み取ってストリームから削除する、インターネット上のさまざまなソリューション。ストリーム全体をそのまま送り返す必要があります。
0 投票する
0 に答える
1302 参照

c# - カスタム ハンドラーを使用した Web API ルートが機能しない

次のようなカスタム メッセージ ハンドラーを使用して WebAPI にルートを追加しようとしています。

ハンドラ コード

しかし、上記のルートにアクセスするたびに、カスタムヘッダーが返されないか、代わりにNoContentコードが返されませんルートから結果を受け取りますが、ハンドラーをグローバルハンドラーとして追加すると、

動作し、カスタム ヘッダーと NoContent ステータス コードを返します ルート設定で何が欠けていますか?

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

c# - Web API フォーマッターで受信ペイロードを変更する

全て、

Web API を介して着信オブジェクトのペイロードを変更しようとしています。JsonMediaTypeFormatter現在、関連するメソッドを継承してオーバーライドするカスタム フォーマッタを使用しています。

次のようになります。

これを使用して、API を介して送信されるすべてのオブジェクトを追跡しています。

このすべてが発生する前に、イベント番号を作成して に追加する MessageHandler がありRequest.Propertiesます。

MessageHandler で以前に作成されたフォーマッターでイベント番号を取得しようとするのは困難です。HttpContext.Current.Items["MS_HttpRequestMessage"].Propertiesイベント番号が含まれていないため、アクセスは別のリクエストのようです。

2 つの質問があります。

  1. 私はこれを正しく行っていますか、それともより良い方法がありますか?
  2. 正しいアプローチを取っている場合、イベント番号を抽出するための正しいリクエストを取得するにはどうすればよいですか?

ありがとう

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

spring-integration - Spring Integration 複数の messageHandler

私は Spring Integration を初めて使用し、同様の投稿をここで見つけることができませんでした。現在、特定の URI を呼び出してチャネルに書き込む messageHandler が 1 つあります。

および統合フロー

ここで、追加の URL が 1 つ呼び出されるように、この関数を拡張する必要があります。私が理解している限り、MessageHandler は常に 1 つの URL を呼び出すことができ、IntegrationFlow で関数を処理できるのは 1 つの MessageHandler だけです。