Sitecore 8.1에서 Atrribute 라우팅이 작동하지 않으므로 다음과 같습니다. https://github.com/Krusen/Sitecore.WebApi
Krusen.Sitecore.WebApi.Custom
에 대한 uget 패키지가 있습니다.Sitecore 8.1에서 웹 API 속성 라우팅이 작동하지 않습니다.
이 내 ConfigureWebApi
클래스
public class ConfigureWebApi
{
public void Process(PipelineArgs args)
{
GlobalConfiguration.Configure(config => config.Routes.MapHttpRoute(
name: "myApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
));
GlobalConfiguration.Configure(config => config.MapHttpAttributeRoutes());
GlobalConfiguration.Configure(ReplaceControllerSelector);
}
private static void ReplaceControllerSelector(HttpConfiguration config)
{
config.Services.Replace(typeof (IHttpControllerSelector),
new CustomHttpControllerSelector(config, new NamespaceQualifiedUniqueNameGenerator()));
}
}
내가이 호출하면이 내 컨트롤러
[RoutePrefix("windows")]
public class WmsController : ApiController
{
[HttpGet]
[Route("hi")]
public IHttpActionResult Hello()
{
return Ok("Welcome to my Api.");
}
}
입니다 :
http://my.api.local/api/wms/hello
작품.
하지만 호출 할 때
http://my.api.local/api/windows/hi
이 작동하지 않습니다. 그것은 말한다 404.
나는 무엇인가 놓치고있다!
구성에 따르면 'http : // my.api.local/windows/hi'를 호출하면 안됩니까? ('/ api없이) –