Я разрабатываю приложение MultiThreaded client-server на VB.net, где несколько клиентов подключаются к одному серверу, также есть процесс на стороне сервера, который открывает файл XML и записывает некоторые данные. Но после 1 часа я получил следующую ошибку:Ошибка: многопоточное клиент-серверное приложение
"File is used by another proccess."
Есть ли какие-либо предложения с вашей стороны, по данному вопросу. Пожалуйста, проверьте мой ниже код для чтения XML
Public Function ISRecordExitsinXML(ByVal pFilepath As String, ByVal pClientIP As String, ByVal pMacAddress As String)
Dim xmlDoc As XmlDocument = Nothing
Dim xmlPupilNode As XmlNode = Nothing
Dim xmlAgeNode As XmlNode = Nothing
Try
Dim FileName As String = pFilepath
ISRecordExitsinXML = Nothing
xmlDoc = New XmlDocument
xmlDoc.Load(FileName)
xmlPupilNode = xmlDoc.SelectSingleNode("//RFIDReader[HostIPAddress = '" & pClientIP.Trim & "' and MacAddress = '" & pMacAddress & "' and Status=1] ")
If Not xmlPupilNode Is Nothing Then
xmlAgeNode = xmlPupilNode.SelectSingleNode("RegDateTime")
If Not xmlAgeNode Is Nothing Then
xmlAgeNode.InnerText = DateTime.Now.ToString()
xmlDoc.Save(FileName)
ISRecordExitsinXML = True
End If
Else
ISRecordExitsinXML = False
End If
xmlDoc = Nothing
xmlPupilNode = Nothing
xmlAgeNode = Nothing
Catch ex As Exception
xmlDoc = Nothing
xmlPupilNode = Nothing
xmlAgeNode = Nothing
ISRecordExitsinXML = False
ErrorLog.WriteToErrorLog(ex.Message.ToString(), "HSRV-A9", "ErrorLog.Log")
Finally
xmlDoc = Nothing
xmlPupilNode = Nothing
xmlAgeNode = Nothing
End Try
Return ISRecordExitsinXML
End Function
Заранее спасибо
Я хотел бы посмотреть на безопасность потока и сделать определенные области вашего приложения «потокобезопасного» HTTP: // msdn.microsoft.com/en-us/magazine/cc163929.aspx http://msdn.microsoft.com/en-us/library/f857xew0(v=vs.71).aspx –