我在申请中声明了以下内容:
[assembly: OwinStartup("MyClass", typeof(MyClass), "ConfigureOwin")]
Run Code Online (Sandbox Code Playgroud)
定义了一个启动类:
public class MyClass {
public void ConfigureOwin(IAppBuilder appBuilder) {
}
}
Run Code Online (Sandbox Code Playgroud)
并开始像这样:
WebApp.Start<MyClass>("baseUri");
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.WebApp总是试图寻找一个名为"配置"的方法,即使我定义了寻找其他东西.我能做什么?
Jes*_*ess 34
对我来说,我需要添加Microsoft.Owin.Host.SystemWeb
作为参考.(单击" 管理Nuget包"并搜索它.)
感谢此博客文章的提示.
我遇到了这个问题,因为我使用OWIN中间件从Web API迁移到Web API以进行ADFS身份验证.
这两个OwinStartupAttribute
和WebApp.Start<T>(StartOptions)
一些方法可以指定要使用的类配置OWIN管道,都将假设指定的类型有签名的方法Configuration(IAppBuilder)
.
但是,OwinStartupAttribute
具有指定可选方法名称的重载.使用该WebApp.Start<T>
方法时,AFAIK没有指定方法名称的重载.
OwinStartupAttribute
当你有一个"启动"OWIN管道的外部组件时,它是最有用的,例如ASP.NET处理程序(使用Microsoft.Owin.Host.SystemWeb)或Helios(使用Microsoft.Owin.Host.IIS).如果您是自托管(使用Microsoft.Owin.Host.HttpListener),最好使用这些WebApp.Start
方法.
这是OWIN启动类检测的一个很好的资源.