2014-06-11 3 views
1

누구든지 OwinStartup에 대해 설명하고 자체 호스팅 웹 API에서이를 사용하는 방법은 있습니까?OwinStartup을 WebAPI 자체 호스트와 함께 사용하는 방법

이 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

당신은, 콘솔 응용 프로그램에 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()); 

     } 
} 
관련 문제