2015-07-29 8 views
0

Как использовать класс Trace для хранения информации трассировки в файле в коде клиента Silverlight? В коде на стороне сервера я меняю конфигурацию, чтобы иметь информацию трассировки, направленную в файл. Что делать, чтобы трассировка была записана в файл на стороне клиента?Как использовать трассировку в клиенте Silverlight?

Я не использую Application Blocks, и я хочу использовать Trace.WriteLine.

ответ

3

Как вы знаете, Silverlight работает в «всемогущей» песочнице. Из-за этого у вас не будет прямого доступа к файлам. Чтобы решить эту проблему, вы можете записать файл в изолированное хранилище вашего приложения.

Side Примечание: Насколько я знаю, Trace.WriteLine не существует в Silverlight?

Чтобы сделать это, написать класс, который представляет вашу трассировку и реализует WriteLine метода:

public static class SilverlightTrace 
{ 
    public static void WriteLine(string message) 
    { 
     try 
     { 
      if (IsolatedStorageFile.IsEnabled) 
      { 
       using (var store = IsolatedStorageFile.GetUserStoreForApplication()) 
       { 
        // Create trace file, if it doesn't exist 
        if(!store.FileExists("YourFileName.txt")) 
        { 
         var stream = store.CreateFile("YourFileName.txt"); 
         stream.Close(); 
        } 

        using (var writer = new StreamWriter(
             store.OpenFile("YourFileName.txt", 
                 FileMode.Append, 
                 FileAccess.Write))) 
        { 
         writer.WriteLine(message); 
         writer.Close(); 
        } 
       } 
      }  
     } 
     catch(Exception e) 
     { 
      // Add some error handling here 
     } 
    } 
} 
+1

да вы правы. Trace не существует .. Я вроде пропустил это. Изолированное хранилище, которое я имел в виду, написав файл. Вам нужно помнить, что изолированная цитата хранилища по умолчанию крошечная. вам необходимо продлить его и продолжать проверять и переворачивать, если необходимо. –

 Смежные вопросы

  • Нет связанных вопросов^_^