Я использую MVC5 и Microsoft.Owin "version =" 4.1.0 "в моем приложении ASP. NET. В моем классе startup.cs были некоторые исключения, и я использовал специальное промежуточное ПО owin для регистрации исключения, использующие Nlog, когда есть какие-либо исключения. Все работает ожидаемо, но вызов задачи (контекст IOwinContext, Fun c далее) вызывается дважды, а журналы записываются дважды. Что я делаю неправильно, любая помощь будет отличной `
public class LoggingMiddleware
{
private static readonly Logger Logger = LogManager.GetLogger("r1");
private readonly Exception _exception;
}
public LoggingMiddleware(Exception exception)
{
_exception = exception;
}
public Task Invoke(IOwinContext context, Func<Task> next)
{
Logger.Error(_exception);
return context.Response.WriteAsync("error");
}
stratup.cs ->
try
{
throw new Exception("hi");
}
catch (Exception ex)
{
app.Use(new LoggingMiddleware(ex).Invoke);
}