0
私はリクエストからコンテンツを読み込んだExceptionFilterを持っています。Stream.PositionはDisposedObjectExceptionをスローします。何を確認しますか?
突然ストリームの位置をリセットしようとすると、例外がスローされます。
私はちょっと疑問に思っています。ストリームをコピーするか、他に何かを知っておく必要があるかどうか疑問に思います。
私は他の場所でストリームから読んでいません。
"exceptionMessage": "Cannot access a disposed object.",
"exceptionType": "System.ObjectDisposedException",
"stackTrace": " at System.Web.Http.WebHost.SeekableBufferedRequestStream.set_Position(Int64 value)\r\n at System.Net.Http.DelegatingStream.set_Position(Int64 value)\r\n
アップデート2:例外フィルタの
全コード:
public override async Task OnExceptionAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
{
//helper for request specific data
var requestContentReader = new RequestContentReader(actionExecutedContext);
//build up error log message
var logMessage = "REQUEST CONTENT: ";
logMessage += Environment.NewLine;
logMessage += await requestContentReader.RequestContentAsync();
logMessage += Environment.NewLine;
logMessage += "REQUEST URI: ";
logMessage += actionExecutedContext.ActionContext.RequestContext.Url.Request.RequestUri.ToString();
//Log error to database
var logId = API.Logging.Logger.Log(logMessage, actionExecutedContext.Exception);
//Create response to client and display requestid
actionExecutedContext.Response = new HttpResponseMessage()
{
Content = new StringContent($"An error occured in the application, your Error identifier is {logId}", System.Text.Encoding.UTF8, "text/plain"),
StatusCode = System.Net.HttpStatusCode.InternalServerError
};
#if DEBUG
throw actionExecutedContext.Exception;
#endif
}
}
例外からどのようなエラーメッセージを受け取りましたか? –
オリジナルの投稿にエラーがあります。 – user3633222
非同期/待機なしで試してみてください。 –