【问题标题】:C# Web App questionC# Web 应用程序问题
【发布时间】:2025-12-16 02:25:01
【问题描述】:

我正在使用 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 之外,大部分都是默认设置。有没有人对此有任何见解?

【问题讨论】:

    标签: c# windows visual-studio-2010 windows-server-2008


    【解决方案1】:

    让我猜猜,您是在使用 Cassini(内置 Web 服务器)在本地进行调试,但随后发布到 IIS 并在那里不起作用?如果是这样,那么它的权限问题 - IIS AppPool 没有网络路径的权限。

    【讨论】:

    • 谢谢...那么我将如何在 Windows 08 中配置它?抱歉,我是新手。
    • 您可以创建一个新身份的AppPool,只需创建一个新的AppPool Foo,将用户身份设置为有权访问共享\网络路径的用户,然后设置您的网络应用在该 AppPool 下运行。所有这些都可以在 IIS 管理控制台中完成
    • 好的,亲爱的,我会试试看是否有效。感谢您的洞察力。
    【解决方案2】:

    对于这样的场景,首先想到的是权限。默认情况下,运行 IIS 的帐户没有访问网络资源的权限。

    【讨论】: