2011-03-01 99 views
2

我正在使用c#編寫Web應用程序。我在我的代碼中有以下計時器,用於檢查服務器上的文件:C#Web應用程序問題

protected void Timer1_Tick(object sender, EventArgs e) 
     { 
      Image1.Visible = false; 


      if (File.Exists(@"\\server/money/Folder2/RAW.xls")) 
       //inform user 
       Label2.Visible = true; 

      else 
      { 
       Label2.Visible = false; 
       Label3.Visible = true; 
      } 

      if (File.Exists(@"\\server/money/Folder2/RAW.xls")) 
       //inform user 
       Image2.Visible = true; 
      else 
      { 
       Image2.Visible = false; 
       Image3.Visible = true; 
      } 
     } 

繼承人我的問題。在本地機器上,甚至在其他服務器上都檢查出來,系統看到文件和bam,顯示出漂亮的圖形和文本說yup文件存在....但是當我將應用程序加載到另一臺機器上時[筆記本電腦或工作站]它就像它沒有看到文件。它加載頁面很好,但是給了我不好的圖像和文字說沒有找到文件。使用IIS 7.5,大部分情況下默認使用ASP 4.0來執行。有沒有人有這方面的見解?

回答

2

讓我猜測,您正在使用Cassini(內置的Web服務器)進行本地調試,但隨後發佈到IIS並且在那裏不起作用?如果是這樣,那麼它的權限問題 - IIS AppPool沒有網絡路徑的權限。

+0

謝謝...那麼我怎麼配置在Windows 08?對不起,我在這裏新的。 – GabrielVa 2011-03-01 19:00:51

+0

您可以創建具有新身份的AppPool,只需創建一個新的AppPool'Foo',將用戶身份設置爲可訪問share \ network路徑的用戶,然後將您的web app設置爲在該AppPool下運行。所有這些都可以在IIS管理控制檯內完成 – BrokenGlass 2011-03-01 19:05:29

+0

好吧,我試試看看它是否可行。感謝您的洞察力。 – GabrielVa 2011-03-01 19:23:14

2

首先想到這樣的場景是權限。默認情況下,運行IIS的帳戶沒有訪問網絡資源的權限。