所以我有这条路线
routes.MapRoute(
name: "GetLinkJSON",
url: "getlinkjson/{property}/{version}/{friendlyFileName}",
defaults: new {controller = "Home", action = "GetLinkJSON"}
);
和这个控制器方法
public ActionResult GetLinkJSON(string property, int version, string friendlyFileName, string message, string key)
这样的网址效果很好
/getlinkjson/elms/1/testdisc096img?message=foo&key=bar
但是这不匹配(当我将。添加回friendlyFileName参数时)
/getlinkjson/elms/1/testdisc096.img?message=foo&key=bar
我尝试将{friendlyFileName}更改为{* friendlyFileName}是一个全部捕获,但没有运气。
答案 0 :(得分:0)
您可以在web.config中尝试此设置
<httpRuntime relaxedUrlToFileSystemMapping="true" />
如果即使这样也行不通,你可以使用ASP.NET Route Debugger进行调试,看看发生了什么,这里有用的链接。
http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx/
答案 1 :(得分:0)
这有点晚了,但是我在web.config中使用了它,它起作用了:
<add name="ApiURIs-ISAPI-Integrated-4.0"
path="/people/*"
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />