httpmodule、asp.net应用程序交互

发布于 2024-07-14 09:35:00 字数 137 浏览 4 评论 0原文

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

Is there any way to call functions in a httpmodule from an asp.net application, even if the httpmodule is in another process? Better yet, in a situation where the application pool is running as a web garden (>1 worker process) how can I communicate with all of the httpmodules that are running?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

林空鹿饮溪 2024-07-21 09:35:00

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

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

You shouldn't count on one instance of the HttpModule to run and then have all other instances connect to that.

Rather, it sounds like you should develop a service which does the work that you want (or some other shared programmatic resource, perhaps a singleton in COM+?) and then have your HttpModules communicate with the service using some sort of distributed communication technology (I'd recommend WCF, a named pipe channel).

浪漫人生路 2024-07-21 09:35:00

我用两种方式做过这种事。 1) 使用远程处理来设置 Web 服务以允许此类调用,以及 2) 使用从一台主机向另一台主机的命名空间发出手动 Web 请求。

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

I've done this sort of thing in two ways. 1) using remoting to set up a web service to allow such calls, and 2) using making manual web requests from one host to the namespace of another.

If your request can work as simple querystring, and the results are ok as html/xml, this second approach is a lot simpler (and much less overhead) than actually setting up full web services. You already have a request-response architecture in place given that this, in fact, a webserver, so it makes sense to use that, I think. If security is a concern, you can make these secondary pages that you are calling only give responses to requests from localhost/127.0.0.1.

撩人痒 2024-07-21 09:35:00

为了在网络花园进程之间进行通信,您必须使用 .Net 远程处理或新的 WCF 之类的东西(正如 casperOne 指出的那样)。

In order to communicate between the web garden processes you'll have to use something like .Net remoting or the new WCF (as casperOne pointed out).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文