httpsodule,asp.net应用程序交互

时间:2009-03-03 16:31:07

标签: c# httpmodule

有没有办法从asp.net应用程序调用httpmodule中的函数,即使httpmodule在另一个进程中?更好的是,在应用程序池作为Web园(> 1个工作进程)运行的情况下,如何与所有正在运行的httpmodule进行通信?

3 个答案:

答案 0 :(得分:2)

您不应指望运行HttpModule的一个实例,然后将所有其他实例连接到该实例。

相反,听起来你应该开发一个服务来完成你想要的工作(或者其他一些共享的程序资源,也许是COM +中的单例?)然后让你的HttpModules使用某种分布式通信与服务进行通信技术(我建议使用WCF,一个命名的管道通道)。

答案 1 :(得分:0)

为了在Web园进程之间进行通信,您必须使用.Net远程处理或新的WCF(如casperOne指出)。

答案 2 :(得分:0)

我以两种方式做过这种事情。 1)使用远程处理来建立允许这种调用的Web服务,以及2)使用从一个主机到另一个主机的命名空间的手动Web请求。

如果您的请求可以作为简单的查询字符串工作,并且结果可以作为html / xml,则第二种方法比实际设置完整Web服务要简单得多(并且开销少得多)。鉴于这实际上是一个网络服务器,你已经有了一个请求 - 响应架构,所以我认为使用它是有意义的。如果担心安全性,您可以使这些您正在调用的辅助页面仅响应来自localhost / 127.0.0.1的请求。