对于asp.net中的网络应用,我必须打开位于我的" app_data"目录。 在本地,它工作正常。
但是当在服务器上发布时,我有一个错误说:"系统找不到指定的文件"
这是我的代码:
StreamReader reader = new streamReader(Server.MapPath("~/App_Data/pubkey.pem"));
当然,该文件存在于服务器上。
我做错了什么?
谢谢;)
编辑: 由于错误不在我想象的地方,我的问题就解决了。我已经将迈克的回复标记为有效,因为它帮助我找到了我的错误:)
答案 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);
}