C# 调用ApicController方法时找不到资源

C# 调用ApicController方法时找不到资源,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,当我试图调用api控制器404时。但当我尝试调用Controller方法时,它工作得很好。如果需要任何信息,请帮助并让我知道 TPServicesAPIController.cs:- using AgentVartualOffice.Models.LogIn; using System.Web.Mvc; using AgentVartualOffice.Models; using Newtonsoft.Json; using System.Text; namespace AgentVartua

当我试图调用api控制器404时。但当我尝试调用Controller方法时,它工作得很好。如果需要任何信息,请帮助并让我知道

TPServicesAPIController.cs:-

using AgentVartualOffice.Models.LogIn;
using System.Web.Mvc;
using AgentVartualOffice.Models;
using Newtonsoft.Json;
using System.Text;

namespace AgentVartualOffice.Controllers.TPServices
{
    public class TPServicesAPIController : ApiController
    {
 public string Myauth()
        {

            return "True";

        }
}
}


Global.asax.cs:-

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.Http;


namespace AgentVartualOffice
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {


            AreaRegistration.RegisterAllAreas();
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            GlobalFilters.Filters.Add(new HandleErrorAttribute());

        }
    }
}

Invoke url:
http://localhost:61868/TPServicesAPI/Myauth

很可能是您调用了错误的URL

默认的基于Web API约定的路由通常以
API

public static class WebApiConfig {
    public static void Register(HttpConfiguration config) {
        // Attribute routing.
        config.MapHttpAttributeRoutes();

        // Convention-based routing.
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}", //<<--- default web API route template
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
因此,我建议您检查API配置并相应地更新被调用的URL


例如,通过调用:
api/TPServicesAPI/Myaut

很可能是您调用了错误的URL。默认Web API路由的前缀为
API
,并且除非路由模板已更改,否则不使用操作名称。感谢更改url后使用foll的工作owinghttp://localhost:61868/api/TPServicesAPI/Myauth
routeTemplate: "api/{controller}/{action}/{id}"