簡體   English   中英

在使用.NET的內存通信中

[英]In Memory Communication Using .NET

我使用通用Lists和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和Named Pipes就像其他人說的那樣在同一台服務器上都沒問題,如果你再將其他機器(如應用服務器)放入內存數據庫托管中,你可以簡單地更改綁定並使用netTCP進行快速二進制通信TCP上的機器......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM