給下面這個目錄加上ASP.NET帳號的權限。
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files
ASP.NET帳號的權限爲: 讀取和運行,列出文件夾目錄,讀取,寫入。
前幾天把自己寫的東西移植到另一臺機器上的時候,出了這個問題.很直覺地想到了是權限問題.可是我把WEB目錄下的權限都幾乎改成了完全控制,還是不能解決問題.查了很多資料,講得也不清楚.有說改這個,也有說改那個的.後來,終於注意到,出錯時顯示的是對 ASP.NET Temporary Files文件夾的訪問被拒絕.於是進到這個目錄,並在權限中添加了ASPNET和NETWORK SERVICE兩個用戶,並將權限設爲除可寫,問題解決!
如果是上傳文件出現的問題,可能是代碼問題,出現原因服務端無法得到客戶端的路徑文件,標準代碼如下:(upload是上傳控件)
Stream myStream = upload.PostedFile.InputStream;
int DataLen = upload.PostedFile.ContentLength;
string Type = upload.PostedFile.ContentType;
string filename = Path.GetFileName(upload.PostedFile.FileName);
string filetype = Path.GetExtension(upload.PostedFile.FileName);
byte[] Data = new byte[DataLen];
myStream.Read(Data, 0, DataLen);
如果用FileStream 用路徑得到流,那麼服務端無法得到客戶端的路徑文件,不是文件的一部分。
1.可能是安裝出了問題,重新安裝 執行命令,aspnet_regiis -i ,記得要生啓啊
2.提升everyone的權限到可修改
3.提升aspnet權限:控制面板-管理工具-計算機管理-本地用戶和組 找到ASPNET 隸屬於裏面加上Administrators
4.將iis虛擬目錄刪掉後重新建
5.在web.config文件中加入<identity impersonate="true"/>
基本上跑不出這個範圍了。
都試一遍差不多你的問題就會解決掉。