2017-03-17 55 views
-1

我想请求路由的Web API - 端点的路由请求的扩展名(.XML)

/api/someName.xml?param1=123

我试过所有的路由请求我的默认控制器 - 与myController的它会像路由呼叫:

http://localhost:54865/api/someName参数1 = 312.1232 & PARAM? 2 = 13.321

,但我需要不一样的路线

http://localhost:54865/api/someName.xml?参数1 = 312.1232 &参数2请求= 13.321

我不能这样做现在使用以下路线图条目:

config.Routes.MapHttpRoute(
                name: "DefaultApi", 
                routeTemplate: "api/{*uri}", 
                defaults: new { controller = "MyController"}); 

我该如何允许扩展名为(someName.xml)的终端路由?

感谢

回答

0

我发现在ASP.net MVC4 WebApi route with file-name in it

解决了答案 - 在Web.config文件中,只需添加下<system.webServer>

<add 
      name="ManagedDllExtension" 
      path="api/*.xml" 
      verb="GET" 
      type="System.Web.Handlers.TransferRequestHandler" 
      preCondition="integratedMode,runtimeVersionv4.0"/> 
<handlers>部分以下XML属性