Asp.net 如何将OwinStartup与WebAPI自主机一起使用
有人能给我解释一下OwinStartup以及如何在自托管web api中使用它吗 这是我在windows服务中的当前代码:Asp.net 如何将OwinStartup与WebAPI自主机一起使用,asp.net,asp.net-web-api,owin,Asp.net,Asp.net Web Api,Owin,有人能给我解释一下OwinStartup以及如何在自托管web api中使用它吗 这是我在windows服务中的当前代码: public void Configuration(IAppBuilder app) { ConfigureOAuth(app); var config = new HttpSelfHostConfiguration("http://localhost:60065");
public void Configuration(IAppBuilder app)
{
ConfigureOAuth(app);
var config =
new HttpSelfHostConfiguration("http://localhost:60065");
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
public void ConfigureOAuth(IAppBuilder app)
{
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() {
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new SimpleAuthorizationServerProvider()
};
// Token Generation
app.UseOAuthAuthorizationServer(OAuthServerOptions);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
}
比方说,您可以在控制台应用程序中托管owin。
在这种情况下,您应该执行以下操作:
class Program
{
static void Main(string[] args)
{
string uri = "http://localhost:8080/";
using (WebApp.Start(uri, Startup.Configuration))
{
Console.WriteLine("Started listening on " + uri);
Console.ReadLine();
Console.WriteLine("Shutting down...");
}
}
}
这就是创业公司:
public class Startup
{
public static void Configuration(IAppBuilder app)
{
ConfigureOAuth(app);
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
public void ConfigureOAuth(IAppBuilder app)
{
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new SimpleAuthorizationServerProvider()
};
// Token Generation
app.UseOAuthAuthorizationServer(OAuthServerOptions);
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
}
}