如何在Silverlight客户端中使用Trace

本文关键字:Trace 客户端 Silverlight | 更新日期: 2023-09-27 18:05:15

如何使用Trace类在Silverlight客户端代码中的文件中存储跟踪信息?在服务器端代码我改变配置有跟踪信息直接到一个文件。我应该做些什么来将跟踪写入客户端的文件?

我不使用应用程序块,我想使用Trace.WriteLine.

如何在Silverlight客户端中使用Trace

你可能知道,Silverlight运行在"全能"的沙箱中。因此,您将无法直接访问文件。要解决这个问题,您可以将文件写入应用程序的独立存储中。

旁注:据我所知,Trace.WriteLine不存在Silverlight吗?

为此,编写一个类来表示您的Trace,并实现一个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
        }
    }
}