2015-11-19 15 views
5

SslStream ve soket ile, sıfırdan bir https web sunucusu geliştirdim. C# kodundan akışa bir sertifika uygulayabilir ve isteklerle ilgilenebilirim. Bununla birlikte, Owin ile bunun nasıl yapılacağını anlayamamıştım. Bir sertifika kendiliğinden barındırılan bir konsol uygulamasına nasıl bağlanacağını biliyor mu?https desteği ile Owin kendini barındıran konsol uygulaması (web api yok, SignalR)

Örnek:

// Bind the below certificate to Owin host 
var certificate = new X509Certificate2("server.pfx", "password"); 

ayrıntılar için aşağıdaki varolan Owin konak koduna bakınız:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Microsoft.Owin.Hosting; 
using AppFunc = System.Func<System.Collections.Generic.IDictionary<string, object>, System.Threading.Tasks.Task>; 

namespace Owin.Startup 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int port = 8888; 
      string url = $"http://localhost:{port}"; 
      using (WebApp.Start<Startup>(url)) 
      { 
       Console.WriteLine($"Hosted: {url}"); 
       Console.ReadLine(); 
      } 
     } 
    } 

    public class Startup 
    { 
     private IAppBuilder app; 
     public void Configuration(IAppBuilder app) 
     { 
#if DEBUG 
      app.UseErrorPage(); 
#endif 

      app.Use(new Func<AppFunc, AppFunc>(next => (async env => 
      { 
       Console.WriteLine("Begin Request"); 
       foreach (var i in env.Keys) 
       { 
        Console.WriteLine($"{i}\t={(env[i] == null ? "null" : env[i].ToString())}\t#\t{(env[i] == null ? "null" : env[i].GetType().FullName)}"); 
       } 
       if (next != null) 
       { 
        await next.Invoke(env); 
       } 
       else 
       { 
        Console.WriteLine("Process Complete"); 
       } 
       Console.WriteLine("End Request"); 
      }))); 

      app.UseWelcomePage("/"); 

      this.app = app; 
     } 


    } 

} 

cevap

İlgili konular