您能解釋一下,使用可恢復消息時將使用多少RAM內存? 我知道,一條消息大約消耗70-80字節,這是好的,我知道郵件正文將保存到磁盤,但它是否也可以將正文複製到RAM中? 我試圖用express和可恢復的消息(消息存儲限制爲1GB)來測試 - 並且在這兩種情況下,我都會在進程資源管理器中看到,msmq服務進程已將其工作集(內存)達到1GB。我明白,如果是快遞郵件,這沒什麼問題,但有了可恢復的郵件,郵件就會少得多!使用問題的MSMQ
而第二個問題是關於MSMQ回調限制。
如果您收到帶回調的郵件,請考慮每個進程只能登錄到最多63個回調函數 。如果您的回調無限期地等待隊列 ,您可能會達到此限制。
它適用於所有隊列還是隻適用於一個隊列?例如,我有我的過程,我做類似:
QueueFirst = new MessageQueue(@".\test") { Formatter = new BinaryMessageFormatter() };
QueueFirst.ReceiveCompleted += QueueOnReceiveCompleted;
QueueSecond = new MessageQueue(@".\test") { Formatter = new BinaryMessageFormatter() };
QueueSecond.ReceiveCompleted += QueueOnReceiveCompleted;
for (int i = 0; i < 63; i++)
{
QueueFirst.BeginReceive(TimeSpan.FromSeconds(10), "", Callback);
QueueSecond.BeginReceive(TimeSpan.FromSeconds(10), "", Callback);
}
我可以這樣做嗎?我在問,因爲如果我將上限週期限制爲超過63的值,則不會發生任何錯誤。我使用這個method overload,因爲在幫助中有關於回調的東西,是否意味着使用事件處理程序沒有任何限制?
你爲什麼看着工作組? http://getgreenshot.org/2010/07/24/a-few-words-on-memory-usage-or-working-set-vs-private-working-set/ – 2013-03-25 11:13:38