OWIN在启动时引发错误,找不到输入方法

时间:2018-06-29 10:20:01

标签: asp.net owin startup middleware

我最近在ASP.Net项目中添加了新的中间件,这需要我将启动方法调整为

public void Configuration(IApplicationBuilder app)

代替

public void Configuration(IAppBuilder app)

我自己创建了IAppBuilder,修改了代码以使其仍可与owin一起使用,但是现在即使进入新的启动方法也遇到了问题。

在启动时,OWIN导致服务器错误,请参阅:

enter image description here

显然,OWIN希望首先找到其自己的入口点,因此,由于配置是针对其他中间件进行的,因此它失败了。

奇怪的是,我在属于同一部分Startup类的另一个文件中确实具有正确的方法(void Configure(IAppBuilder app))。

我希望被称为的入口点看起来像这样:

    public void Configuration(IApplicationBuilder app)
    {
        app.UseOwin(setup => setup(next =>
        {
            var builder = new AppBuilder();
            var lifetime = (IApplicationLifetime)app.ApplicationServices.GetService(typeof(IApplicationLifetime));

            var properties = new AppProperties(builder.Properties);
            properties.AppName = app.ApplicationServices.GetApplicationUniqueIdentifier();
            properties.OnAppDisposing = lifetime.ApplicationStopping;
            properties.DefaultApp = next;

            Configure(builder);

            return builder.Build<Func<IDictionary<string, object>, Task>>();
        }));
....

因此在这里实际上正在处理owin。我可以以某种方式更改中间件加载的顺序吗?

0 个答案:

没有答案