Десериализовать шаблон Digital Persona в VB.net - PullRequest
0 голосов
/ 19 октября 2010

Чтение двоичных данных из базы данных, и мне нужно преобразовать их обратно в шаблон отпечатков пальцев Digital Persona. Я не знаком с сериализацией и десериализацией, поэтому мог бы немного помочь. Вот что я попробовал:

Dim rsBioData As SqlDataReader = SQL.ExecuteReader
Dim byteTemplate As Byte
Dim memStreamTemplate As MemoryStream
If rsBioData.HasRows Then
    While rsBioData.Read
        byteTemplate = rsBioData("BiometricData")
        memStreamTemplate = New MemoryStream(byteTemplate)
        Me.Template = DirectCast(template.DeSerialize(memStreamTemplate), DPFP.Template)
    End While
End If
rsBioData.Close()

Я получаю сообщение об ошибке, что template.DeSerialize (memStreamTemplate) не создает значение.

Вот как я сериализировал объект, чтобы поместить его в базу данных. Я предполагаю, что эта часть работает, так как двоичные данные отображаются на сервере SQL - просто не могу прочитать их обратно, чтобы увидеть.

Dim str As New MemoryStream
Enroller.Template.Serialize(str)
Dim serializedTemplate As Byte() = str.ToArray()
SQL.Parameters.AddWithValue("biometricData", serializedTemplate)

Спасибо

1 Ответ

0 голосов
/ 29 октября 2010

Вот как я наконец смог это сделать. Я был ТАК близко в первый раз.

            byteTemplate = rsBioData("BiometricData")
            memStreamTemplate = New MemoryStream(byteTemplate)
            Me.Template.DeSerialize(memStreamTemplate)
...