任何人都可以向我解释一下OwinStartup以及如何在自托管的web api中使用它吗?
这是我目前在Windows服务中的代码:
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());
}
答案 0 :(得分:0)
你可以说,你可以在控制台应用程序中托管你的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());
}
}