Ich habe kürzlich an einer MVC-Site, die eine API hat und in der Startup.cs gibt es eine Zeile, die app.UseWebApi
sagt. Ich habe ein wenig gesucht, aber ich konnte keine vernünftige Antwort finden. Kann mir bitte jemand das Konzept erklären? Vielen Dank!Was macht IAppbuilder.UseWebApi?
Antwort
Es konfiguriert ASP.NET-Web-API, um auf OWIN zu laufen. OWIN abstrahiert einen Webserver und Sie können ihn sowohl auf IIS als auch auf HTTP.SYS ausführen, wodurch Sie einen Webserver in Ihrer eigenen Konsolenanwendung bereitstellen können. Um genauer zu sein, ist das Stück, das auf IIS oder HTTP.SYS läuft, Katana, was eine Implementierung der OWIN-Spezifikation ist.
Durch Aufruf von app.UseWebApi
konfigurieren Sie OWIN/Katana, um Webanforderungen über ASP.NET Web Api zu senden, die in der OWIN-Terminologie als Middleware gelten. Dies erfordert das NuGet-Paket Microsoft.AspNet.WebApi.Owin.
Interessanterweise kann ASP.NET MVC 5 nicht als OWIN/Katana Middleware konfiguriert werden. Es hängt von System.Web
ab und erwartet, dass der Singleton HttpContext
existiert, so dass er auf IIS ausgeführt werden muss. Einige NuGet-Pakete, die in MVC-Projekten verwendet werden können (z. B. zur Authentifizierung), werden jedoch auf OWIN aufgebaut, anstatt eine Abhängigkeit von HttpContext
zu nehmen, die sie nützlicher macht. Das ist eine Erklärung dafür, warum OWIN in einem MVC-Projekt verwendet wird.
- 1. Was macht fixIO?
- 2. Was macht CreateFile ("CONIN $" ..)?
- 3. Was macht System.Reflection.Missing.Value?
- 4. Was macht dieser Schienencode?
- 5. Was macht NHibernateUtil.Initialize?
- 6. Was macht == in Ruby?
- 7. Was macht "SqlMethods" -Methoden?
- 8. Was macht der ^?
- 9. Was macht YouTube?
- 10. Was macht g_signal_connect_swapped()?
- 11. Was macht mod_auth_passthrough?
- 12. Was macht exec sp_updatestats?
- 13. Was macht Raster $ Spaß?
- 14. Was macht git schuld?
- 15. Was macht h() wirklich?
- 16. Was macht Oracle skalierbarer?
- 17. Was macht 'printf -v'?
- 18. Was macht Dateisatz eigentlich?
- 19. Was macht clearSelectionOnViewWillAppear?
- 20. Haskell was macht ++
- 21. Was macht ModelState.IsValid?
- 22. Was macht os.geteuid()?
- 23. Was macht Function.prototype.toMethod()?
- 24. Was macht dieses CSS?
- 25. Was macht/[\ []/in JavaScript?
- 26. Was macht scanner.close()?
- 27. random.seed(): Was macht es?
- 28. was macht "make check"?
- 29. Was macht ein i2c_new_dummy?
- 30. Was macht [STAThread]?