我在我的窗口服務的方法如下:System.IO.IOException:該進程無法訪問文件「FILE_NAME」
System.IO.File.Copy(path, ConfigurationManager.AppSettings["BulkInsertGiftRegisterCreatorDirectory"] + System.IO.Path.GetFileName(path));
Loyalty.Entity.Base.FileInfo file = new Loyalty.Entity.Base.FileInfo();
file.FileName = path;
request.Object = file;
ResponseBase response = new ResponseBase(request);
RequestConnection connection = new RequestConnection("cn");
FileManager fileManager = new FileManager(request, connection);
response = fileManager.OfflineGiftRegisterBulkInsert();
System.IO.File.Delete(ConfigurationManager.AppSettings["BulkInsertGiftRegisterCreatorDirectory"] + System.IO.Path.GetFileName(path));
// here is the part of stored procedure that uses file
SELECT @SCRIPT= 'BULK INSERT GIFT_CARD.GIFT_TEMP'
+' FROM '''
+ @FILE_PATH
+''' WITH ('
+'FIELDTERMINATOR = '','','
+ 'KEEPNULLS'
+');'
我可以用手從文件系統刪除文件,但是這個代碼說我「Ooops!System.IO.IOException:進程無法訪問文件的'文件名' ,因爲它正在被另一個進程使用。」
我已經搜索了相似的問題,在stackoverflow和其他地方。但我找不到任何東西來幫助我。複製或刪除方法返回無效,我沒有流在我的代碼來處置。
我該如何解決?
在此先感謝。
什麼是「做其他事」的一部分在做什麼?我假設它正在做* *文件被複制/刪除。我有這種感覺,這件事很重要。 – 2010-11-08 21:29:09
您的Window服務是否以與您相同的身份運行?如果沒有,那麼Window的服務可能沒有刪除文件的權限。 – ChrisNel52 2010-11-08 21:35:46
我調用一個存儲過程,該存儲過程使用文件的路徑批量插入文件包含的行。 – anilca 2010-11-08 21:35:50