好吧,今天過了漫長的一天,我只是在尋找專家的意見。ASPX代碼隱藏頁面的線程安全
比方說,我這樣做:
public class ZipFiles : Page
{
Hashtable hs;
與啓動,這意味着我必須在這個類的成員變量。
然後我行我呼籲在onload,如:
ManagedFile mf = new ManagedFile(site);
mf.ID = docID;
mf.Load();
hs.Add(Path.GetFileName(mf.URL), mf);
還好,最後我從DotNetZip一個WriteDelegate方法做這個:
private void WriteEntry(String filename, Stream output)
{
ManagedFile value = (ManagedFile)hs[filename];
using (MemoryStream ms = new MemoryStream(value.GetBinary()))
{
ms.WriteTo(output);
}
}
你可以看到,在onload我將所有mf對象放入散列表中,FileName作爲它們的關鍵字(永遠不會有2個相同的文件名),然後在WriteDelegate中彈出它們以獲取MF對象後面的Byte []數組。
這是災難的收件人嗎?我們網站上來自不同用戶的哈希表是否會混雜在一起,宇宙的聯繫是否分裂?
感謝您的幫助!現在是5點09分,我完成了一天的工作。晚飯時,妻子正在製作雞尾酒。他們很棒,如果你願意的話,可以要求收件人。另外,她還有我們的兩個男孩(6歲和4歲),這是自上週一以來首次回到學校。今晚5:40後滾進來的話,會有2個累了的男孩和1個累了的媽媽!
除了下面的答案....我會採取該配方請。 :) – asawyer 2011-02-07 22:22:34