我们有一个旧的遗留web应用程序。该架构包括:
服务器的角色是:
由于服务器的许多角色,ASP (IIS)和DCOM服务器之间的调用接口相当广泛,并且在这许多页面中大量使用。
主要的问题在于IIS调用DCOM服务器,并且随着新的Windows服务器的出现而变得更大。从Windows server 2008开始,这种组合几乎是不可维护的。在UAC就位后,即使是单例进程外DCOM服务器也无法工作(不同的进程在不同的安全上下文中启动)。
我希望将服务器的MFC/C++代码保持为单例运行(尽管存在所有缺点)。这许多ASP页面是应用程序中最动态、最经常更改的部分,我希望它们保持不变。我可能会牺牲补充的ASP.NET应用程序。
,什么是最好的替代服务器的单例进程外DCOM接口?,我认为性能和未来的维护是最重要的。
(我可以看到一个完全相同的.Net接口作为COM替换,但我主要关心的是在我的第一次迭代中保持它是单进程的。)
发布于 2013-03-23 01:57:02
这个问题有点开放,所以.但是很久以前,我使用了下面的技术,做了一个Java到-COM桥。嗯..。
我知道代码可以工作,因为您愿意保留其中的大部分代码。您在缩放单例模式时有问题。
所以把你的独生子女分成两部分。
首先,将您的单例作为服务运行(或在COM+中)。在该进程中添加一个小空间(运行在它自己的线程上),它接收HTTP请求并将它们转换为进程内COM调用。由于您已经在进行进程外的工作,因此编组应不会成为一个问题。请看一下HTTP部件的猫鼬。它是一个单一的C文件,它将使您在短时间内得到概念运行的证明。
其次,编写(从头开始)一个普通的、非单例的进程内COM对象,实现与服务器相同的接口。这个存根只会将它接收到的COM调用转换为对HTTP的调用,再转换为真正的单例。
+确保你的垫片不听公共接口!
https://stackoverflow.com/questions/15581755
复制相似问题