我有一个aspx网页,用作处理程序通过swfupload保存上传的文件我将文件保存在服务器上,如下所示:
HttpPostedFile uploadedFile = Request.Files["Filedata"];
uploadedFile.SaveAs(LocationOnServer);
问题是我保存文件后文件保持锁定状态(通过w3wp.exe),直到我重新启动IIS。 保存后有没有办法释放文件? 感谢
答案 0 :(得分:3)
我过去曾处理过同样的情况。您需要在域帐户下运行应用程序池。也就是说,运行Web应用程序的应用程序池应设置为以域用户身份运行。然后,应该为同一个域用户授予您尝试上传到的文件夹的权限。要将域用户分配给应用程序池,请从IIS中的应用程序池节点中选择适当的池,右键单击并选择属性。从属性对话框中选择标识选项卡,然后选择“可配置”,然后提供域帐户。然后,您应该授予文件夹中同一用户的权限。
答案 1 :(得分:1)
我找不到任何文档,但您可能必须处理HttpPostedFile对象。大多数情况下,如果文件被锁定,那么与它们相关联的某些对象就没有被妥善处理。
答案 2 :(得分:0)
我会检查服务器上的文件夹权限。我有一个类似的问题,应用程序能够创建该文件但不写入它,这导致它锁定。
答案 3 :(得分:0)
您是否尝试过调用Finalize()?您是否有可能试图获取该文件的任何防病毒软件或备份软件?
我不认为权限是问题,因为如果您还没有该文件夹的权限,则无法首先将文件写入该文件夹。