Nicht bekommen kann ASP.NET Web-API-2 Hilfe-Seiten zu arbeiten, wenn mit Owin
Habe ich installiert, das richtige Paket für Web-Api-2 -
Install-Package Microsoft.AspNet.WebApi.HelpPage -Pre
Aber der Hilfe-Bereich ist nicht kartiert und ist die Rückkehr 404 (Web-Api funktioniert Prima). Ich bin mit Microsoft.Owin.Host.SystemWeb als die Gastgeber. Unten ist mein Startup-code.
public class Startup
{
public void Configuration(IAppBuilder app)
{
//Required for MVC areas new HttpConfiguration() doesn't work with MVC
var config = GlobalConfiguration.Configuration;
AreaRegistration.RegisterAllAreas();
WepApiStartup.Configure(config);
app.UseWebApi(config);
}
}
InformationsquelleAutor der Frage DalSoft | 2013-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
GlobalConfiguration.Konfiguration ist ein web-host-spezifische HttpConfiguraiton, die nur benutzt werden sollte, die mit web-host-Szenario. Verwenden Sie es mit OWIN host zu unerwarteten Problemen führen.
Bitte stattdessen den folgenden code verwenden:
Ersetzen Sie alle GlobalConfiguration.Konfiguration mit Start.HttpConfiguration des Projekts sind die Hilfe-Seite-Dateien.
InformationsquelleAutor der Antwort Hongye Sun
Fand die Lösung nach viel Graben/Versuch und Irrtum. Das Problem ist auch hier beschrieben: http://aspnetwebstack.codeplex.com/discussions/453068
UseWebApi und UseHttpMessageHandler nicht, rufen Sie Nächste OWIN - middleware für andere als 404. Dies bedeutet, dass wenn Sie UseWebApi das ist es, Nächste wird nie aufgerufen, daher können Sie es nicht verwenden, mit anderen middleware (Nancy oder Web-Api-Hilfe-Seiten z.B.).
Dank @aliostad patch:
https://github.com/aliostad/CacheCow/blob/master/samples/UsingCacheCowWithNancyAndOwin/HttpMessageHandlerAdapterModified.cs#L43
Können Sie es wie erwartet funktioniert. Ich hoffe, dass das team merge pull request für diese als UseWebApi bricht die Owin design-Ziele der IMO.
Update 13. Feb 2014
Ich geschrieben habe, eine Owin-Erweiterung zu umgehen:
Update 01. Juli 2015
Können Sie auch host-Hilfe-Seiten mit WebApi anstelle von MVC, das ist toll für selbst Gastgeber http://blogs.msdn.com/b/yaohuang1/archive/2012/12/20/making-asp-net-web-api-help-page-work-on-self-hosted-services.aspx
- Update 10. September 2015
Für Web Api habe ich versucht @hongye-Sonne Antwort und es funktioniert auch, das zu befolgen, was @gspatel sagt von sich verändernden HelpPageAreaRegistration.RegisterArea und die HelpController Konstruktor. Mein workaround funktioniert so gut wie alles auswählen, was am besten funktioniert für Ihre situation.
Allerdings bin ich noch immer das Problem bei der Verwendung von UseWebApi mit anderen middleware-und es nicht aufrufen von Next () - (scheint nur auftreten, wenn IIS nicht selbst hosten). Ich habe festgestellt, mein workaround Zuordnung der Pfad und zwingen das nächste mal aufgerufen wird, ist eine gültige Problemumgehung für alle Owin-middleware Nancy, Simple.Web etc.
Update 13 Jan 2016
Ich entwickelt habe Owin-middleware zu generieren ASP.NET Web-API-Hilfe-Seiten, die wir kennen und lieben, die das problem komplett löst. Mein blog-post erläutert die Hintergründe dieser Frage im detail
InformationsquelleAutor der Antwort DalSoft