2013-09-23 31 views
1

我想簽署一個2 GB的XML文件使用SignedXml.ComputeSignature但是我越來越內存異常。我正在使用具有8 GB RAM的64位機器。可能是因爲文件大小。在計算簽名時,函數將整個XML文件加載到內存中。我們是否有其他選擇來簽署XML文件?是否有可能在卡盤或流中籤名XML文件。當簽名2 GB XML文件SignedXml.ComputeSignature拋出內存異常在64位Windows 8 GB的RAM

+0

.NET有一個對象大小限制。我認爲這個限制是2GB。 – Paparazzi

+1

您使用的是64位機器,但是您的應用程序也是64位的?你可以在屬性對話框中檢查它(不要使用「任何CPU」使用「x64」)。 – BudBrot

+0

xml適合這樣的大文件嗎? –

回答

1

你在.NET 4.5上嗎?
如果是這樣試試這個:

gcAllowVeryLargeObjects

+0

我使用.NET 3.5 –

+0

實際上,限制更像是1.4 GB。從理論上講,你應該能夠讀取文件塊並簽名。 – Paparazzi

+0

在.net中,我們沒有任何方法以大塊方式簽署文件。你知道任何一個以大塊簽名XML的庫嗎? –

相關問題