У меня есть установка owin, которая, среди прочего, использует CORS и Autofac. В документации Autofac говорится: «СНАЧАЛА зарегистрируйте промежуточное ПО Autofac». Многие люди говорят, что app.UseCors должен быть самым первым.
У меня также есть промежуточное ПО для обработки исключений, которое, по мнению многих людей, должно быть первым, чтобы «другие промежуточные ПО (ниже по трассировке стека) распространялись вверх и попадали в блок try/catch этого промежуточного ПО». много смысла, так как реализация выглядит так:
try
{
await Next.Invoke(context);
}
catch...
какой должен быть первым? каков правильный порядок для этих 3 компонентов промежуточного программного обеспечения
моя текущая конфигурация запуска выглядит так:
public void Configuration(IAppBuilder app) {
// Add WebApi CORS handling to the OWIN pipeline
app.UseCors(CorsOptions.AllowAll);
// Create and register Owin HttpConfig instance
var config = new HttpConfiguration
{
IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always // Enable error details in http responses
};
// Register the Autofac middleware FIRST. This also adds Autofac-injected middleware
// registered with the container.
var container = AutofacConfig.ConfigureContainer(config);
app.UseAutofacMiddleware(container);
app.UseAutofacWebApi(config);
app.UseNLog();
// Handle exceptions from OWIN middleware components globally
app.UseExceptionHandling();
app.UseOAuth(config);
//... quite a bit more stuff after