개체를 저장하기 위해 직렬화를 사용하는 Visual Basic.net 응용 프로그램을 개발했습니다. 열고이 개체를 두 개의 다른 Visual Basic.net 응용 프로그램에 저장하고 싶습니다.두 응용 프로그램 간의 직렬화
가장 좋은 방법은 무엇입니까? 이 작업을 수행하려면 클래스 라이브러리를 만들어야합니까?
이 문제에 대해 도움을받을 수 있습니까?
내가 열고 두 응용 프로그램에서 개체를 저장 할 수 있도록 걸려
편집 할 수 있습니다.
개체를 저장하기 위해 직렬화를 사용하는 Visual Basic.net 응용 프로그램을 개발했습니다. 열고이 개체를 두 개의 다른 Visual Basic.net 응용 프로그램에 저장하고 싶습니다.두 응용 프로그램 간의 직렬화
가장 좋은 방법은 무엇입니까? 이 작업을 수행하려면 클래스 라이브러리를 만들어야합니까?
이 문제에 대해 도움을받을 수 있습니까?
내가 열고 두 응용 프로그램에서 개체를 저장 할 수 있도록 걸려
편집 할 수 있습니다.
데이터의 복잡도에 따라 데이터 클래스를 <Serializable>
속성으로 간단히 표시 할 수 있어야합니다. 한 응용 프로그램에서 Serialize
메서드를 호출하고 디스크에 저장 한 다음 다른 응용 프로그램으로 파일을 읽고 Deserialize
을 호출 할 수 있습니다.
두 응용 프로그램 모두에서 클래스를 정의해야합니다. 공통 라이브러리를 공유하여 가장 쉽게 수행 할 수 있습니다.
basic serialization에 대한 MDSN 예를 참조하십시오.
xml을 읽고 쓸 수 있습니다. 그러면 다른 파일에서 저장 한 폴더를 확인하여 새 파일이 생성 또는 업데이트되었는지 확인해야합니다.
기능은 객체를 직렬화하고 내가이 작업을 수행 할 수있는 쉬운 방법이 있었으면 좋겠어
Public Function GetMyObjFromXMLFile() As MyObj
'check if file exists first...
If xmlFileExists() Then
Dim strPath As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
Dim objStreamReader As New StreamReader(Replace(strPath & "\MyFolder\MyObj.xml", "file:\", ""))
Dim MyObj As New MyObject
Dim x As New XmlSerializer(MyObj.GetType)
MyObj = x.Deserialize(objStreamReader)
objStreamReader.Close()
Return MyObj
Else
Return New MyObj
End If
End Function
을 반대하는 XML에 XML 및 역 직렬화를 읽을 수
Public Function MyObjectFileGeneration()
Try
Dim strPath As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
strPath = Replace(strPath, "file:\", "")
Dim myObj = Form1.MyObject
Dim objStreamWriter As New StreamWriter(strPath & "\MyFolder\MyObj.xml", False)
Dim x As New XmlSerializer(s.GetType)
x.Serialize(objStreamWriter, MyObj)
objStreamWriter.Close()
Return True
Catch ex As Exception
'Do something here if failure...
Return False
End Try
End Function
함수를 작성 , 불행히도이 벽에도 충돌했습니다.
일련 번호가 가능한 데이터는 r 같은 응용 프로그램에서 읽습니다. (당신이에 대한 사랑스러운 오류 메시지를 제공합니다.) 내가 실패, 단순화 된 패킷 전송을위한 직렬 연결을 사용하여 시도 ..
당신이 프로그램에 얼마나 잘에 따라, 나는
.. 이것에 대한 추천이변수를 memorystream에 직렬화 한 다음 헤더 섹션을 잘라내 다른 파일 스트림으로 이동 한 다음 다시로드하면 memorystream에 변수를 저장하여 새 헤더를 얻은 다음 나머지 데이터를 첨부 한 다음 직렬화를 읽습니다 ..
아직 시도하지 않았지만 다시 돌아올 때 이것은 내 다음 방법입니다.
가 나는 XML 방법을 볼 수 있지만, 데이터를 안전하게 유지하기 위해 압축/암호화 라이브러리를 사용하는 것이 좋습니다했다 .. 아마도 그렇게 할 수있는 몇 가지 간단한 방법을 참조 않았다 ..
죄송합니다, 나는에 코드가없는 이 라운드는 조사 할 때이 응답을 추가합니다.
두 번째 응용 프로그램에서 직렬화 된 개체를 열려고하면 다음 오류가 발생합니다. 'TestSerializationSaveOpenObjectProject2, Version = 1.0.0.0, 문화 = 중립, PublicKeyToken = null '. – user2230606