Global.asax를 통해 MapHttpAttributeRoutes를 호출하는 Web API Nuget과 StartUp WebApiConfig 코드를 추가했지만 속성 경로가 작동하지 않습니다.기존 MVC 5 웹 응용 프로그램에 속성 라우팅을 추가 할 때 작동하지 않는 원인은 무엇입니까?
protected void Application_Start()
{
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
MvcHandler.DisableMvcResponseHeader = true;
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
다음은 설치된 패키지입니다.
<packages>
<package id="EntityFramework" version="6.1.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Core" version="2.0.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.0.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.0.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Owin" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages" version="3.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.Data" version="3.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.WebData" version="3.1.2" targetFramework="net451" />
<package id="Microsoft.Data.Edm" version="5.6.1" targetFramework="net451" />
<package id="Microsoft.Data.OData" version="5.6.1" targetFramework="net451" />
<package id="Microsoft.Data.Services.Client" version="5.6.1" targetFramework="net451" />
<package id="Microsoft.Owin" version="2.1.0" targetFramework="net451" />
<package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net451" />
<package id="Microsoft.Owin.Security" version="2.1.0" targetFramework="net451" />
<package id="Microsoft.Owin.Security.Cookies" version="2.1.0" targetFramework="net451" />
<package id="Microsoft.Owin.Security.OAuth" version="2.1.0" targetFramework="net451" />
<package id="Microsoft.SqlServer.Types" version="11.0.1" targetFramework="net451" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="2.0.3" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.3" targetFramework="net451" />
<package id="Owin" version="1.0" targetFramework="net451" />
<package id="RestSharp" version="104.4.0" targetFramework="net451" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net451" />
<package id="System.Spatial" version="5.6.1" targetFramework="net451" />
<package id="WindowsAzure.Storage" version="4.0.1" targetFramework="net451" />
</packages>
내가, 내가 같은 이름을 가진 두 개의 API를 컨트롤러를 가지고 무슨 일이 있었는지 알아 냈
[Authorize(Roles = "Admin")]
[RoutePrefix("admin/api/v/{vid}/photos")]
public class PhotosController : ApiController
{
[AllowAnonymous]
[Route("test", Name="Test")]
[HttpGet]
public IHttpActionResult Test(string vid)
{
return Ok();
}
}
어떤 패키지를 추가하셨습니까? 정확한 이름은 무엇입니까? – DavidG
패키지 목록으로 업데이트 –
컨트롤러 및 라우트 속성이 어떻게 보이는지 확인할 수 있습니까? – DavidG