Ich verwende Routing in meiner WebApi Katana-Anwendung. Ich habe die folgenden zwei Routen-Mappings, die gut funktionieren. Meine Frage ist, kann ich diese zu einem einzigen Routen-Mapping mit optionalen Parametern kombinieren? Ich kann keinen offensichtlichen Weg sehen, dies zu tun und die erforderliche Funktionalität beizubehalten. Ich bin neu in diesem Bereich und habe vielleicht eine Technik vermisst, die mir hilft, dies zu erreichen. Wenn die Routen so bleiben müssen, ist das kein Problem.
%Vor%Die erforderliche Funktionalität besteht darin, einen Dienst aufzuheben, indem Sie die folgenden Details angeben:
%Vor% In ASP.NET Web API 2 können Sie das Attribut routing verwenden und müssen nicht alle Routen auf diese Weise mit MapHttpRoute
definieren.
Die Erklärung kann hier .
In Ihrem Owin Startup
müssen Sie das Attribut-Routing mit MapHttpAttributeRoutes :
und Ihr Controller sollte etwa so aussehen:
%Vor% Wie Sie sehen können, habe ich RuotePrefix
verwendet, um die Endpoint- und Route-Constraints zur Begrenzung von Parametern zu verwenden, wie in dem Artikel vorgeschlagen.
Sie können sogar eigene benutzerdefinierte Einschränkungen erstellen.
Der Artikel schlägt vor, dass Sie das Paket NuGet Microsoft.AspNet.WebApi.WebHost
installieren müssen.
Das ist nicht mehr nötig.
Tags und Links asp.net-web-api c# owin katana asp.net-web-api-routing