在使用.NET进行内存通信中

| 我已经使用通用的List和Linq实现了一种内存数据库类型,并且由ASP.NET应用程序使用。在内存中构建此数据库大约需要45秒(它是从数据库中构建的),因此我们正在尝试将ASP.NET应用程序池的回收率最小化到每天凌晨1:00,以避免在工作进程中进行回收。在一天中的某一天旋转45秒以重建数据库。 我想将内存数据库移动到与ASP.NET辅助进程隔离的另一个进程,但是我不确定如何在ASP.NET应用程序中获取对象并与一个单独的进程进行通信,该进程将保存数据库。我应该使用TCP侦听器类型的东西吗?我知道IIS过去曾经能够托管库并通过远程处理使它们可用...这仍然可能吗? 如果您想知道为什么要处理内存数据库的所有麻烦,那是因为它为多面搜索应用程序提供了动力。与每次查询相比,使用Linq和内存列表的速度要快很多倍。 在此先感谢您的任何建议。     
已邀请:
        您可能应该通过命名管道查看WCF:http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication。 您可以将数据库托管在简单的Windows服务中。     
        命名管道是执行此操作的一种选择。您可以使用WCF命名管道绑定将其抽象到一定程度。您还可以将安全许可权应用于上述命名管道,以提高针对内存数据库中充斥着任意应用程序的安全性。     
        如前所述,CK1,WCF和命名管道在同一台服务器上都很好,如果您随后将另一台计算机(如应用程序服务器)放入内存数据库托管中,则只需更改绑定并使用netTCP进行跨二进制的快速二进制通信通过TCP的机器...     

要回复问题请先登录注册