无法在服务器端

时间:2018-06-07 19:16:23

标签: c# asp.net .net file

对于asp.net中的网络应用,我必须打开位于我的" app_data"目录。 在本地,它工作正常。

但是当在服务器上发布时,我有一个错误说:"系统找不到指定的文件"

这是我的代码:

StreamReader reader = new streamReader(Server.MapPath("~/App_Data/pubkey.pem"));

当然,该文件存在于服务器上。

我做错了什么?

谢谢;)

编辑: 由于错误不在我想象的地方,我的问题就解决了。我已经将迈克的回复标记为有效,因为它帮助我找到了我的错误:)

1 个答案:

答案 0 :(得分:0)

您需要在IIS中定义为虚拟文件夹的App_Data文件夹,或者在您的网站项目中名为App_Data的文件夹,因为〜说到网站的根目录。如果您在Windows中查找用户配置文件中存在的App_Data文件夹,那么它就是虚拟文件夹问题,或/并为应用程序池标识提供访问该文件夹的适当权限。

try
        {   // Open the text file using a stream reader.
            using (StreamReader sr = new StreamReader(Server.MapPath("~/App_Data/pubkey.pem")))
            {
            // Read the stream to a string, and write the string to the console.
                string doc = sr.ReadToEnd();
                System.Diagnostics.Debug.WriteLine(doc);
            }
        }
        catch (Exception e)
        {
            System.Diagnostics.Debug.WriteLine("The file could not be read:");
            System.Diagnostics.Debug.WriteLine(e.Message);
        }