2009-07-28 89 views
0

我有一个组件(内置.net的组件),我需要访问(几乎)每个请求到两个不同的网站。一个网站是用经典的asp编写的,另一个用asp.net mvc编写的。为长期生存的COM互操作托管.net程序集?

目前我在asp.net解决方案中引用程序集,并将其称为像任何.net程序集。在经典的asp网站上,我通过一个COM包装器来调用它。

这是一切都很好,除了现在我需要这个组件实际上保持活着并监视配置文件的变化。在我的asp.net网站上,我可以在应用程序范围内保留一个名称,我想我可以在asp访问的组件服务中注册它。

这是最好的方法吗?此外,这种方式组件实际上将托管两次 - 一个在asp.net应用程序范围内,另一个在组件服务中。我也许只能将它放在组件服务中,然后改为从asp.net引用它。

我不知道 - 有些东西闻起来有点腥(不,不是我) - 我是在正确的轨道上还是你看到更好的选择?

+0

我想你的意思是“在经典的ASP网站”中的第二段。 – 2009-07-28 06:33:15

+0

这是正确的,谢谢:) – 2009-08-03 17:37:13

回答

0

好了,所以我想我找到两种解决方案,这个项目都可以接受的:

1)注册它Global.asa中的Application_OnStart在这样Application("Someobject") = Server.CreateObject("Someobject")

2 Application对象)主机它组件服务并处理那里的生存期。

0

你真的需要一个长时间运行的对象吗?你说你需要监视配置文件的变化 - 当配置发生变化时,你需要触发一些动作,还是只需要确保每个传入请求都使用组件的最新配置副本?如果是后者,那么标准的.NET配置应该可以为你工作,而不必关心对象的生命周期。

在托管方面,您是否需要使用任何COM +服务?如果没有,那么我不会使用COM +。如果你想为你的.NET组件建立一个中心位置,为什么不把它注册到GAC中?

相关问题