在ASP.NET中是否有任何方式编程式解决加载HttpHandler的路径,因为它是在Web.config中定义的? (即SomeModule.axd)?ASP.NET - 解决加载HttpHandler路径
1
A
回答
4
的path属性如果我理解正确的问题,你希望获取从web.config中正确的路径?
如果是这样,什么你可能寻找的是这样的:
string p = null;
System.Web.Configuration.HttpHandlersSection httpHandlersSection =
(System.Web.Configuration.HttpHandlersSection)
System.Configuration.ConfigurationManager.GetSection("system.web/httpHandlers");
foreach (System.Web.Configuration.HttpHandlerAction handler in httpHandlersSection.Handlers)
{
if(handler.Type == "myType")
{
p = handler.Path;
break;
}
}
诀窍这里的if语句。 web.config中的处理程序没有可用作密钥的友好“名称”。他们所有的都是类型(可以是丑陋的字符串),路径和动词。要找到您感兴趣的特定处理程序,您可能必须在处理程序的类型或路径中搜索已知的子字符串,以识别您感兴趣找到的特定处理程序。
0
从当前的HTTP上下文中使用Request对象
0
如果你有兴趣的路径处理程序处理当前请求:
string path = HttpContext.Current.Handler.GetType().Assembly.CodeBase;
如果你碰巧知道在哪里可以找到其它的处理器实例的集合,你可以用同样的方法来也得到他们的路径。
+0
我实际上试图解决处理程序的“虚拟路径”,而不是DLL本身的位置。即如果“MyHandler”类型在“MyHandler.axd”注册,我想解析“MyHandler.axd”。 – 2009-10-13 16:24:28
相关问题
- 1. UEFI解决完整路径
- 2. 了解Ruby中的加载路径
- 3. 如何解决“访问路径...”错误?
- 4. 路由/解决asp.net mvc
- 5. HttpHandler下载txt文件(ASP.NET)?
- 6. emacs加载路径
- 7. 有关ASP.NET中httpHandler路径的规则是什么?
- 8. 路径/文件夹下注册的HttpHandler
- 9. 如何解决VS 2010 ASP.Net ReportViewer HttpHandler注册错误?
- 10. 如何解决“访问路径被拒绝的asp.net”
- 11. 如何解决asp.net中的路径问题mvc
- 12. 解决不存在的文件的类路径相对路径
- 13. 如何解决VBScript中的文件下载路径错误?
- 14. org.apache.olingo路径甚至下载后的依赖性不解决
- 15. 如何解决多个级联路径?
- 16. 图像源路径不解决
- 17. 如何解决* url-loader *路径?
- 18. UNC路径的System.IO.Path.GetPathRoot解决方法
- 19. 路径操作解决方案?
- 20. 解决Java类路径地狱
- 21. 解决Windows 7的特殊路径
- 22. 长Java类路径解决方案
- 23. 解决wireMock中的动态路径
- 24. Java解决相对路径问题
- 25. 如何解决构建路径错误?
- 26. 解决ES6导入路径2
- 27. ASP.NET 4自定义路由中的HttpHandler
- 28. asp.net自定义HttpHandler和URL路由
- 29. 加载路径很慢
- 30. java/ecplise:org.apache.commons.lang.math在添加到构建路径后未得到解决
这是一个相当不错的解决方案,虽然间接(由.NET标准)。如果有某种框架标准服务定位器可以映射到HttpHandler以便从单独的模块轻松连接,那将会非常好。值得考虑的事情我会说! – 2009-10-07 06:42:32
一般来说,用户代码有必要检查该级别的应用程序配置的内部情况。另外还有内置的处理程序和其他通过机器级配置注册的处理程序。然后有HttpHandlerFactories按需动态注册处理程序。在处理程序的动态性质和潜在的安全性考虑之间,我可以看出为什么直接访问这些对象的方式并不多。 – 2009-10-07 16:26:42
对于那些和我一样头痛的人,请记住,“system.web/httpHandlers”区分大小写。这意味着Handlers中的“H”是国会大厦。 – 2010-08-03 02:01:53