1

Ich habe ein MVC-Projekt erstellt (Say DeploymentTool) und ein anderes WebAPI-Projekt zur Lösung hinzugefügt (Say DeploymentToolAPI), und daher ist NameSpace für beide unterschiedlich. Nun, was ich will ist, rufen Sie eine HTTPPOST/HTTPGET-Methode von DeploymentToolAPI von außen, sagen POSTMAN oder Web-Browser. Müssen wir WebApiConfig.cs aktualisieren? Wenn nicht, wie finde ich die URL von DeploymentToolAPI. Ich kann jede Methode von DeploymentTool aufrufen, aber es funktioniert nicht im Falle von DeploymentToolAPI.Rest API ASP.NET

Würde mich über jede Hilfe/Vorschläge freuen.

Antwort

1

Zum einen müssen Sie Set Multiple Startup Projects, damit der API-Dienst und die MVC-Webanwendung gleichzeitig gestartet werden:

in Visual Studio direkt Ihre Lösung Klick -> Eigenschaften -> Wählen Sie "Mehrere Startprojekte:" -> stellen Sie die Aktion beider Projekte zu starten:

Set Multiple Startup Projects in Visual Studio

Sobald diese Folge erfolgt die Anweisungen von @Ankush Jain oder kopieren Sie einfach die Web API URL aus dem Browserfenster, denn wenn Sie das Projekt nach dem Einrichten mehrerer Startprojekte ausführen, werden Sie sehen, dass sowohl Ihr Web-API-Dienst als auch die MVC-Webanwendung im Browser geöffnet wird in zwei verschiedenen Tabs.

+0

Ja, hab ich. Danke, Denis. – Vivek

2
  1. Rechtsklick auf Ihre API-Projekt WEB und
  2. Go auf Web Registerkarte auf Eigenschaften und Sie werden Projekt-URL Textbox
  3. Dies wird Ihnen die Basis-URL für Ihre Web-api-Projekt sehen. (z. B. http://localhost:8526)
  4. Gehen Sie dann zu WebApiConfig.cs, um das URL-Routenmuster zu überprüfen.

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Web.Http; 
    
    namespace StandardWebApiTemplateProject 
    { 
        public static class WebApiConfig 
        { 
         public static void Register(HttpConfiguration config) 
         { 
          config.Routes.MapHttpRoute(
           name: "DefaultApi", 
           routeTemplate: "api/{controller}/{id}", 
           defaults: new { id = RouteParameter.Optional } 
          ); 
         } 
        } 
    } 
    

Wenn Sie Strecke Vorlage wie -

routeTemplate: "api/{controller}/{id}" then your url will be like 
ie. http://localhost:8526/api/ControllerName/89 

und wenn Sie Aktionsnamen Vorlage in Route enthalten, dann wird Fall wie sein unter

routeTemplate: "api/{controller}/{action}/{id}" then your url will be like 
ie. http://localhost:8526/api/ControllerName/ActionName/89 
+0

Danke Ankush. Deine Erklärung Nr. 2 gab mir, wonach ich suchte. Danke vielmals. – Vivek