如何通过httphandler返回嵌入式资源.aspx页面?

时间:2011-07-23 11:13:16

标签: c# asp.net

流行测验热门镜头......

我有一个包含2个项目的Visual Studio 2010 .NET 4解决方案,第一个项目是一个包含httphandler和.aspx页面的c#类库。 .aspx页面的构建操作已设置为“嵌入式资源”。

第二个项目是一个asp.net Web应用程序,它引用了第一个。 httphandler已连接到web.config。

我希望httphandler能够提供嵌入式.aspx页面。我该怎么做?

谢谢, 詹姆斯

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

.aspx只是.NET中一种特殊的HttpHandler。别忘了。 因此,.aspx文件(ASP.NET网页)实际上已实现IHttpHandler,并且它们具有ProccessRequest方法。有两种方法可以做到这一点:

  1. 基于Web窗体的动态编译特性以及标记与代码隐藏,如果您希望动态编译页面的标记并执行,您必须提取页面(通过代码)并将其保存在磁盘。此提取过程可以在Applciation_Start事件。
  2. 上进行
  3. 如果您不喜欢提取方法,请不要忘记您可以完全删除标记并在代码隐藏中执行所有操作(就像PHP或旧的ASP或ASP.NET MVC一样)。还要记住,从OOP的角度来看,您的页面实际上是。因此,只需在HttpHandler中实例化它并调用它的ProcessRequest方法,将当前HttpContext传递给它。

答案 2 :(得分:0)

我这样做的方式是通过VirtualPathProvider,而不是处理程序。您可以设置和注册虚拟路径提供程序,以便从嵌入式资源(或数据库,Web服务或您能想到的任何其他内容)提供页面。

http://support.microsoft.com/kb/910441