anladığım için geldim bu şekilde; ASP.NET Çekirdek katman yazılımı, daha düşük bir seviyede olan OWIN ara katman yazılımından daha yüksek bir seviyededir.
ASP.NET Çekirdek katman yazılımı, kullanabileceğiniz HttpContext
içinde geçtiğinizde bir ara katman geliştirmenin çok daha kolay olması avantajına sahiptir. Dezavantajı, geliştirdiğiniz ara yazılımın ASP.NET Core'a bağlı olmasıdır. OWIN IDictionary<string, object>
olan bir OWIN ortamı alırsınız. Bunun avantajı, ASP.NET'e bağlı olmaması ve dolayısıyla herhangi bir OWIN sunucusunda (Nowin gibi) çalışabilmesidir. Dezavantajı, OWIN ortamından kendi içeriğinizi oluşturmanız veya OWIN ortam sözlüğünü doğrudan kullanmanız ve tüm OWIN keys ve nesnelerini takip etmeniz gerektiğinden kod yazmanın daha fazla çaba gerektirmesidir.
Düzenleme: OWIN anahtarlarını kendiniz izlemeniz gerekmez, güçlü bir ortam oluşturmak için OwinEnvironment
sınıfını kullanabilirsiniz.
var environment = new OwinEnvironment(HttpContext);
var features = new OwinFeatureCollection(environment);
İşaret. OwinEnvironment, Microsoft.AspNetCore.Owin'den gelen bir kavramdır ve saf bir OWIN şey değildir. OwinMiddleware gibi bir Katana şey ve saf bir OWIN şey değil. –