Isolated storage location is under
C:Users*username*AppDataLocalLowMicrosoftSilverlightis
To handle error logging in Silverlight, create a clsIsolatedStorage.vb
Imports System.IO
Imports System.Xml
Imports System.IO.IsolatedStorage
Imports MyApplication.clsApplicationGlobal
Public Class clsIsolatedStorage
Shared Sub ErrorHandler(ByVal mMode As String, ByVal Procedure As String, ByVal e As Exception)
Try
WriteToXML(mMode, Procedure, e)
Catch ex As Exception
‘Big Problem
End Try
End Sub
Shared Sub WriteToXML(ByVal mmode As String, ByVal mproc As String, ByVal e As Exception
Try
Using store As IsolatedStorageFile = _
IsolatedStorageFile.GetUserStoreForApplication()
‘ Create a directory for the files
‘ if it doesn’t already exist. subDirName As String = "SLErrors"
If Not store.DirectoryExists(subDirName) Then
store.CreateDirectory(subDirName)
End If
End Using
Dim isoStore As IsolatedStorageFile = _
IsolatedStorageFile.GetUserStoreForApplication()
‘ Create/Open file
Dim isoStream As IsolatedStorageFileStream = _
New IsolatedStorageFileStream("" & subDirName & "" & "ErrorLog.txt", _
FileMode.Append, FileAccess.Write, isoStore) "" FileMode.Append, FileAccess.Write
‘ Write to the Isolated Storage for the user.
Using streamWriter As StreamWriter = New StreamWriter(isoStream
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.Indent = True
‘ Create an XmlWriter.
Using writer As XmlWriter = XmlWriter.Create(streamWriter, settings)
writer.WriteStartElement("Error")
writer.WriteElementString("DateTime", Now)
writer.WriteElementString("Module", mmode)
writer.WriteElementString("Procedure", mproc)
If IsNothing(e) = False Then writer.WriteElementString("ExceptionMessage", e.Message
writer.WriteEndElement()
writer.Flush()
End Using
End Using
isoStream.Close()
‘ Open the file again for reading.
‘Using reader As New StreamReader(isoStore.OpenFile("SLErrorLog.txt", FileMode.Open))
‘ HoldErrors = HoldErrors & reader.ReadToEnd()
‘End Using
Catch ex As Exception
End Try
End Sub
End Class
To use the class:
Private eMod As String = "PageName"
Private eProc As String = ""
Private Sub btnSameAddress_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs
eProc = "btnSameAddress_Click"
Try
txtAddress.Text = HoldReporterStreet
txtApartment.Text = HoldReporterApt
txtCity.Text = HoldReporterCity
txtState.Text = HoldReporterState
txtZip.Text = HoldReporterZip
Catch ex As Exception
clsIsolatedStorage.ErrorHandler(eMod, eProc, ex)
End Try
txtAddress.Focus()
End Sub
I have a clsApplicationGlobal that holds variables that I use from one page to the next. You may be able to put the public shared in the clsIsolatedStorage as a private variable.
MyApplication_Silverlight_Application.clsApplicationGlobal Public Shared subDirName As String = "SLErrors"