首页 新闻 会员 周边

关于文件被w3wp.exe占用的问题

0
悬赏园豆:15 [已关闭问题] 关闭于 2009-09-20 11:04

开发环境 :win7+iis7+vs2008

从数据库取出二进制生成文件之后,用FileStream完了我还Close,Dispose,怎么文件还被w3wp占用啊,代码如下:

       FileStream file = null;
try
{
file
=new FileStream(FullFileName,FileMode.OpenOrCreate);
file.Write(buff,
0,buff.Length);
file.Flush();
}
catch(Exception ex)
{
}
finally
{
file.Close();
file.Dispose();
}

难道说win7下面iis用户的权限问题?以前好像没出现过这种问题啊,现在被郁闷了,哪位解答一下吧
问题补充: 但是我用cs程序去处理那个被w3wp.exe占用的文件的话是可以处理成功的。主要是要压缩那个文件,在iis中压缩不成功,在cs中压缩成功,同样都是那个被w3wp.exe占用的文件。 应该是权限的问题,这个问题在win7和xp上面存在,在win2003上面不存在,确认不是代码的问题了。可能是win2003中运行iis的用户权限高些,我在win7下面可是基本上把所有的权限都加了的,都把networkservice和everyone加到administrator组中去了都不行。
bluesky4485的主页 bluesky4485 | 菜鸟二级 | 园豆:288
提问于:2009-09-10 11:13
< >
分享
所有回答(2)
0

你可以试试

file.Flush();
file.Dispose(
true);//请理非托管资源
// Use SupressFinalize in case a subclass
// of this type implements a finalizer.
//GC.SuppressFinalize(file);
GC.Collect();//仅测试,实际环境中慎用

http://msdn.microsoft.com/zh-cn/library/fs2xkftw.aspx
邀月 | 园豆:25475 (高人七级) | 2009-09-10 14:46
0

应该是权限的问题,压缩文件需要对文件所在文件夹有写入的权限。

wang_yb | 园豆:4891 (老鸟四级) | 2009-09-17 21:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册