代码之家  ›  专栏  ›  技术社区  ›  Greg W

文本文件I/O在VS2015开发中可以正常工作,但在IIS部署中无法正常工作

  •  3
  • Greg W  · 技术社区  · 6 年前

    以下代码是c#来自aspx代码隐藏页。问题在于最终系统。io。文件行,开发时在本地计算机上运行良好,但在服务器上托管的IIS实例上运行时。。。。此命令不会将我希望的文本附加到文件中。到目前为止,我已确保该文件对IIS用户、网络、本地用户等具有完全读/写/创建功能。我还尝试将所有者更改为IIS\U USRS用户。虽然没有生成错误,但我不知道如果部署的站点没有抛出错误,如何调试其背后的代码。

    谢谢你的帮助。

    namespace checkin
    {
        public partial class buttonclicked : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                var backendclickedprocindex = Request.QueryString["clickedprocindex"];
                string path = Server.MapPath(".");
                string pathfile = path + "\\clickedprocindex.txt";
                File.SetAttributes(path, FileAttributes.Normal);
                Label1.Text = pathfile;
                System.IO.File.AppendAllText(pathfile, backendclickedprocindex + ",");
            }
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Randy Slavey    6 年前

    什么服务器操作系统?

    在Server 2016中,找到您的网站使用的应用程序池,并检查该应用程序池的“身份”。如果显示“ApplicationPoolIdentity”,则需要将特定的应用程序池标识添加到文件共享中。转到文件夹,右键单击“属性”。转到安全,编辑。添加用户“IIS AppPool\YOURAPPPOOLNAME”,并授予其所需的权限。