Не удается открыть файл на стороне сервера - PullRequest
0 голосов
/ 07 июня 2018

Для веб-приложения в asp.net мне нужно открыть файл, расположенный в моей директории "app_data".Локально работает нормально.

Но при публикации на сервере появляется сообщение об ошибке: «Система не может найти указанный файл»

Вот мой код:

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

ИзКонечно, файл существует на сервере.

Что я делаю не так?

Спасибо;)

РЕДАКТИРОВАТЬ: Так как ошибка была не там, где я думаю, мояПроблема решена.Я отметил ответ Майка как действительный, потому что он очень помог мне понять, что я был неправ:)

1 Ответ

0 голосов
/ 08 июня 2018

Вам понадобится папка App_Data, определенная как виртуальная папка в IIS, или папка в проекте вашего веб-сайта под названием App_Data, поскольку ~ говорит, что она находится в корне веб-сайта.Если вы ищете папку App_Data, присутствующую в профиле пользователя в Windows, то это проблема виртуальной папки или / и предоставление удостоверению пула приложений соответствующих прав доступа к папке.

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);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...