Dan*_*Dan 5 asp.net-mvc httphandler
我有一个MVC4应用程序,我添加了一个HttpHandler:
<system.web>
...
<httpHandlers>
<add path="Files" verb="*" type="MyHttpHandler" />
</httpHandlers>
</system.web>
Run Code Online (Sandbox Code Playgroud)
我也忽略了相关的路径,RegisterRoutes以便MVC不处理对"文件"的请求:
routes.IgnoreRoute("Files/{*pathInfo}");
Run Code Online (Sandbox Code Playgroud)
问题是MyHttpHandler仅针对"文件"的请求调用,而不是针对其任何子文件夹或子文件夹调用.
我已经尝试过使用该<location>元素,但是让它工作就意味着你将在"path"属性中对应用程序的虚拟路径进行硬编码(例如<location path='MyApp\Files'>).
用于允许"文件"及其任何子文件夹(以及这些文件夹的子文件夹等)的所有请求被路由到的正确方法是什么MyHttpHandler?
从头开始……<location>似乎工作正常。不过,您需要<web>和<webServer>条目来确保它适用于 IIS 和 Visual Studio Development Server。例如:
<location path="Files">`
<system.webServer>
<handlers>
<add name="MyHandler" path="*" verb="*" type="MyHttpHandler" />
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="MyHttpHandler" />
</httpHandlers>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10585 次 |
| 最近记录: |