2016-07-11 46 views
17

Son zamanlarda bir api'si olan ve startup.cs içinde bir MVC sitesinde çalışıyorum app.UseWebApi diyor bir çizgi var. Bazı arama yaptım ama ne yaptığını iyi bir cevap bulamadım. Birisi benim için konsepti açıklayabilir mi? Teşekkürler!IAppbuilder.UseWebApi ne yapar?

cevap

28

ASP.NET Web API'sini OWIN üstünde çalışmak üzere yapılandırır. OWIN bir web sunucusu özetler ve kendi konsol uygulamanızda bir web sunucusu sağlamanıza olanak tanıyan HTTP.SYS'nin yanı sıra hem IIS'in hem de üstünü çalıştırabilirsiniz. IIS veya HTTP.SYS üzerinde çalışan parçanın daha spesifik olması için OWIN belirtiminin bir uygulaması olan Katana.

app.UseWebApi numaralı telefonu arayarak, OWIN terminolojisinde bir middleware olduğu düşünülen ASP.NET Web API'sı aracılığıyla web istekleri göndermek için OWIN/Katana'yı yapılandırırsınız. Bu, NuGet paketi Microsoft.AspNet.WebApi.Owin gerektirir. İlginçtir, ASP.NET MVC 5 bir OWIN/Katana aracı yazılımı olarak yapılandırılamaz. Bu, System.Web'a bağlıdır ve HttpContext tektonunun var olmasını bekler, böylece IIS'nin üzerinde çalışması gerekir. Bununla birlikte, MVC projelerinde (örneğin kimlik doğrulama için) kullanılabilen birkaç NuGet paketi, HttpContext'a bağımlı olmak yerine OWIN'in üzerine inşa edilir ve bu da onları daha kullanışlı hale getirir. Bu, bir MVC projesinde kullanılan OWIN'i neden gördüğünüze dair bir açıklama.