为什么在服务器而不是本地PC中创建文件夹

时间:2014-06-25 17:30:01

标签: c# asp.net

我有一个ASP.net网站,在后面的代码我正在页面加载创建一个文件夹,如果它不存在于本地驱动器中:

string strDirectory = @"C:\PDFGenerate\";
try
        {
            if (!Directory.Exists(strDirectory))
            {
                Directory.CreateDirectory(strDirectory);
            }
        }
        catch (Exception ce)
        {
            tc.Text = "Unable to create directory to save generated PDF files";
        }

该网站目前托管在我的本地服务器中。我将网站添加到我的IIS,以便我可以从我们网络中的任何PC本地访问它。

我遇到的问题是每当我从本地PC访问网站时,该文件夹都是在服务器而不是我的电脑中创建的。

这与访问有关吗?我试图在我自己的本地驱动器中创建一个文件夹,它工作正常。

1 个答案:

答案 0 :(得分:8)

  

我遇到的问题是每当我从本地PC访问网站时,该文件夹都是在服务器而不是我的电脑中创建的。

是。这是因为您的所有代码都在服务器上执行。服务器只是将HTML传送到您的PC,Web浏览器显示HTML。当然,如果包含一些Javascript, 将在PC上运行(在浏览器中) - 但C#在服务器上运行。 (想一想:您如何期望C#代码在没有任何运行.NET的工具的机器上运行?)

了解代码运行的位置确实非常重要 非常重要。作为Web应用程序创建者,您无法在客户端计算机上创建文件夹。您对本地(即客户端)存储有一些非常有限的访问权限,但您将无法执行任意文件系统操作。那将是非常不安全的。