ASP.NET MVC4 WebApi路由中包含文件名
发布时间:2020-12-15 18:43:31 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试获取以下(和类似的)URL在我的ASP.net MVC4 / WebApi项目中工作: http://127.0.0.1:81/api/nav/SpotiFire/SpotiFire.dll 负责此网址的路由如下所示: config.Routes.MapHttpRoute( name: "Nav",routeTemplate: "api/nav/{project}/{assembly}/{nam
我正在尝试获取以下(和类似的)URL在我的ASP.net MVC4 / WebApi项目中工作:
http://127.0.0.1:81/api/nav/SpotiFire/SpotiFire.dll 负责此网址的路由如下所示: config.Routes.MapHttpRoute( name: "Nav",routeTemplate: "api/nav/{project}/{assembly}/{namespace}/{type}/{member}",defaults: new { controller = "Nav",assembly = RouteParameter.Optional,@namespace = RouteParameter.Optional,type = RouteParameter.Optional,member = RouteParameter.Optional } ); 它工作得很好,如果我删除。在文件名中,或者如果我在URL之后添加斜杠,但这也意味着我无法使用Url.Route方法等。我得到的错误是一个通用的404错误(下面的图片)。 我尝试添加< httpRuntime targetFramework =“4.5”relaxedUrlToFileSystemMapping =“true”/>到我的web.config,我也试过添加 <compilation debug="true" targetFramework="4.5"> <buildProviders> <remove extension=".dll"/> <remove extension=".exe"/> </buildProviders> </compilation> 而且似乎没有一个工作。所以我的问题基本上是如何让这个URL工作,并正确地映射? 解决方法
您可以将以下处理程序添加到< handlers>您的< system.webServer> ;:部分
<add name="ManagedDllExtension" path="api/nav/*/*.dll" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 这将使所有包含.dll的请求都通过托管管道提供。还要注意,我如何限制它们仅限于GET动词以限制性能影响。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何获取配置文件Web.config的AppSetting节点数据
- IIS配置 – ASP.NET MVC返回所有请求的默认文档
- ASP.NET Web应用程序本地化的最佳实践
- asp.net-mvc – MVC 4忽略DefaultModelBinder.ResourceClas
- asp.net – 主页和内容页面以及jquery
- asp.net-mvc – 使用Visual Studio和ASP.NET MVC加载时间非
- asp.net-mvc – ASP.NET MVC – Partial View可以有一个控制
- asp.net-mvc-3 – 如何在MVC3中键入时过滤占用
- asp.net-mvc – RouteValueDictionary的字符串URL
- asp.net – 考虑到N2 CMS,但担心性能.这是否合理?
推荐文章
站长推荐
热点阅读