我在服务器端控件中使用jQuery发回公共处理程序。
例如,我有“/handler.ashx”,它在我的应用程序中提供页面服务。
我希望handler.ashx中的某些代码能够获取创建控件所在页面的类。在handler.ashx中,我可以看到referer(例如Referer:http://localhost/Playground/form2.aspx
)。但是,我不知道如何使用该URL来获取Playground.Form2类。
思路:
我显然可以解析URL并假设这是类名,但这不安全。
我可以使用反射来遍历从Page
延伸的所有类,并检查TemplateSourceDirectory
和/或AppRelativeVirtualPath
以查看它是否是正确的对象。
但是,我想知道是否有一些方法可以使用,或者如果有人建议不要首先走这条路。
答案 0 :(得分:1)
不是试图从Request中获取类型对象,而是从调用标识请求类型的处理程序的页面传递某种唯一标识符可能更好。要简化此过程,可以使用接受唯一标识符的方法创建静态类,并返回Type对象。
根据检索这些Type对象的频率,缓存类型反射的结果可能是谨慎的。