2011-03-01 102 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的帐户没有访问网络资源的权限。