【发布时间】:2011-06-23 01:43:08
【问题描述】:
好的,今天已经很长了,我只是想征求专家的意见。
假设我正在这样做:
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 个疲倦的妈妈!
【问题讨论】:
-
除了以下答案之外......我会接受那个食谱。 :)
标签: asp.net thread-safety c#-2.0