Мой код читает текстовый файл построчно, в нем нет ошибок компиляции, однако, когда я его тестирую, он показывает следующее: «Доступ к пути запрещен»
Код:` public void EA() {
var lines = File.ReadLines("Status.txt").Skip(81).Take(24).ToList(); //Read txt file line by line
int timeout = 0;
int success = 0;
for (int i = 0; i < 24; i++) //for cicle for each line in txt
{
if (lines[i] == "okay")
{
success++; //count for how many okay in txt
}
else if (lines[i] == "fail")
{
timeout++; //count for how many fail in txt
}
}
if (timeout < 1)
{
BitmapImage verde = new BitmapImage(new Uri("/SilverLightTest;component/Estados/Verde.png", UriKind.Relative));
eaMafra.Source = verde;
}
else
{
BitmapImage vermelho = new BitmapImage(new Uri("/SilverLightTest;component/Estados/Vermelho.png", UriKind.Relative));
eaMafra.Source = vermelho;
}
if (timeout == 0) //if none, everything is ok
{
eaQuantos.Text = "ok";
}
else //if any show how many timeouts
{
eaQuantos.Text = timeout.ToString();
}
}`
Детали ошибки:
{System.Security.SecurityException: File operation not permitted. Access to path 'Status.txt' is denied. at System.IO.FileSecurityState.EnsureState() at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) at System.IO.File.ReadLines(String path)
Я пытался открыть общий доступ к папке «txt» «всем» (изменить и прочитать), но это не решило проблему.
Добро пожаловать в Stack Overflow! Включайте код в виде текста, а не изображения. Изображение вашего кода бесполезно.
Нам действительно нужно увидеть ваш код. По умолчанию приложению Silverlight, работающему в браузере, не разрешено читать локальные файлы, если только пользователь не выберет его с помощью OpenFileDialog.
Может быть, стоит отформатировать сообщение об ошибке как код, т.е. сделать отступ каждой строки четырьмя пробелами?
Я обновил вопрос с кодом сейчас, спасибо за ответы
При запуске приложения из браузера все работает нормально. Возможно ли вообще запустить приложение, которое читает локальные файлы через браузер?





Попробуйте изменить безопасность папки, содержащей ваш txt файл, чтобы получить правильный доступ.