如何在 Silverlight 客户端中使用 Trace?
How to use Trace in Silverlight client?
如何使用 Trace class 在 Silverlight 客户端代码的文件中存储跟踪信息?在服务器端代码中,我更改配置以将跟踪信息定向到文件中。我应该怎么做才能在客户端将跟踪写入文件?
我不使用应用程序块,但我想使用 Trace.WriteLine。
如您所知,Silverlight 在 "almighty" 沙箱中 运行。因此,您将无法直接访问文件。为了解决这个问题,您可以将文件写入您的应用程序的隔离存储。
Side note: As far as I know, Trace.WriteLine
doesn't exist in
Silverlight?
为此,编写一个代表您的 Trace 的 class,并实现一个 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
}
}
}
如何使用 Trace class 在 Silverlight 客户端代码的文件中存储跟踪信息?在服务器端代码中,我更改配置以将跟踪信息定向到文件中。我应该怎么做才能在客户端将跟踪写入文件?
我不使用应用程序块,但我想使用 Trace.WriteLine。
如您所知,Silverlight 在 "almighty" 沙箱中 运行。因此,您将无法直接访问文件。为了解决这个问题,您可以将文件写入您的应用程序的隔离存储。
Side note: As far as I know,
Trace.WriteLine
doesn't exist in Silverlight?
为此,编写一个代表您的 Trace 的 class,并实现一个 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
}
}
}