考虑这种情况: 您希望将用户重定向(REDIRECT)到某个处理程序(aspx或ashx)而不使用硬编码路径。 你有处理程序类的名称,你甚至可以得到它的类型(ASP.whateverpageclass)。 现在,你如何获得虚拟路径?
答案 0 :(得分:1)
如果我理解正确,如果您具有实现类的名称/类型,则需要处理程序的虚拟路径。 AFAIK,这是不可能的,因为两者之间不需要一对一的关联 - 从ASP.NET运行时的角度来看,它必须将虚拟路径映射到某个处理程序类(而不是反之亦然)。例如,您可以使用相同的处理程序类型映射到特定扩展的所有路径。
就避免硬编码的主要问题而言,您可以处理具有可配置url(重定向)或具有可以映射某些键的持久存储(数据库,xml文件或配置文件)(例如,处理程序类名称)到重定向的虚拟路径。