一般的なメッセージ ハンドラーを使用しようとすると、accept のときにエラーが発生するか、text/x-json などの独自のタイプを使用する場合は content-type が html/xml/json であり、すべてが期待どおりに機能し、メッセージがディスパッチされます。私のハンドラーとストリームはデータを webclient に返します。デバッガーを使用してこれを実行したところ、コードはメッセージを正常に作成しましたが、サービスバス バインディングの何かがチョークし、サーバーが応答しなくなりました。application/json を許可し、サービス バスが生データを再シリアル化するのではなく送信するように変更する必要がある設定はありますか?
[WebGet( UriTemplate = "*" )]
[OperationContract( AsyncPattern = true )]
public IAsyncResult BeginGet( AsyncCallback callback, object state )
{
var context = WebOperationContext.Current;
return DispatchToHttpServer( context.IncomingRequest, null, context.OutgoingResponse, _config.BufferRequestContent, callback, state );
}
public Message EndGet( IAsyncResult ar )
{
var t = ar as Task<Stream>;
var stream = t.Result;
return StreamMessageHelper.CreateMessage( MessageVersion.None, "GETRESPONSE", stream ?? new MemoryStream() );
}