ASP.net MVC4 WebApi route with file-name in it

China☆狼群 提交于 2019-11-27 08:14:25

You could add the following handler to the <handlers> section of your <system.webServer>:

<add 
    name="ManagedDllExtension" 
    path="api/nav/*/*.dll" 
    verb="GET" 
    type="System.Web.Handlers.TransferRequestHandler" 
    preCondition="integratedMode,runtimeVersionv4.0" 
/>

This will make all requests containing .dll be served through the managed pipeline. Also notice how I have limited them only to the GET verb to limit the performance impact.

Found it. What's needed is this (and maybe some of the things I've added above in the original post):

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

My trade off was to append /end to the end of route. .'s are ignored before the last /.

The equivalent URL would be http://127.0.0.1:81/api/nav/SpotiFire/SpotiFire.dll/end.

The benefit being that you don't get a performance hit on your assets.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!