簡體   English   中英

在IIS 7.0中部署時,檢索txt文件會導致錯誤

[英]Retrieval of txt file gives an error when deployed in IIS 7.0

我有一個文本文件RHKLIS.txt放在D:\\ drive中 我已經找到了一些代碼來檢索文本文件的路徑,並且在本地主機上運行時工作正常 我已經在使用IIS 7.0的某些測試機中部署了代碼,並嘗試訪問相同的代碼,但是由於Sql事務已在if(!File.Exists(path))行中關閉,因此無法檢索到該錯誤 所以我知道指定的路徑是代碼中的問題。但是仍然我不知道這是什么類型的錯誤,因為在同一台測試機的D:\\驅動器中放置了相同的文本文件。

在web.config中

<appSettings>

  <add key="LISpath" value="D:\RHKLIS.txt"/>

</appSettings>

.cs文件

   string path = ConfigurationManager.AppSettings["LISpath"].ToString(); 
   FileStream fs = null;
   if (!File.Exists(path))
   {
       fs = File.Create(path);
       fs.Close();
   }

   StreamWriter sw = File.AppendText(path);

   sw.WriteLine("O~" + billHospNo.Text.Trim() + "~ ~" + opBillNo.Text + "~" + billDate.Text + "~" + itemCode.Text + "~" + itemName.Text + "~" + p.Honourfic + "~" + p.Patient_Name + "~" + p.Gender + "~" + p.Age + "~" + "Y" + "~" + "~" + "~" + "~" + "~" + "~" + department.SelectedItem.ToString() + "~" + billDate.Text + "~" + itemDept.Value + "~" + deptName + "~" + yearOB + "~" + due);
   sw.Close();

這聽起來像一個安全問題。 首先,該文件位於D:的根目錄下,這意味着您將向IIS服務器打開整個D :(不是很好的做法)。 而是創建一個新文件夾,添加IIS_IUSRS用戶(具有讀取和執行,列出文件夾內容和讀取權限)-然后將文件放入該文件夾。 更改配置文件中的設置,這應該可以...

這是假設您擁有服務器的完全管理員權限。

右鍵單擊該文件夾,選擇屬性。 文件夾的屬性窗口將打開-選擇“安全性”標簽。 您將看到兩個列表-頂部是用戶或組,底部是權限-單擊用戶下的“編輯”按鈕。

另一個寡婦將打開-單擊“添加”按鈕-這將打開另一個窗口。 確保這些位置適用於本地計算機而不是域,然后單擊“高級”,然后單擊“立即查找”按鈕。 瀏覽列表,直到看到IIS_IUSRS用戶,然后雙擊它。 這會將用戶置於選擇窗口的底部文本字段中。 只需單擊“確定”,它將自動為該用戶授予該文件夾所需的權限-然后,只需單擊“確定”,直到關閉所有窗口即可。

希望對您有所幫助...允許從IIS對該文件夾進行只讀訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM