Pregunta

La lectura de datos binarios fuera de la base de datos, y necesito convertir de nuevo en una plantilla de huellas digitales Digital Persona. No estoy familiarizado con la serialización y deserialización, por lo que podría utilizar un poco de ayuda. Esto es lo que he intentado:

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()

Recibo un error que template.DeSerialize (memStreamTemplate) no crea un valor.

Para patadas, así es como me serializada del objeto para colocarlo en la base de datos. Asumo esta parte está trabajando, ya que muestran los datos binarios arriba en el servidor SQL - simplemente no puede leer de nuevo a ver

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

Gracias

¿Fue útil?

Solución

Así es como finalmente fui capaz de hacerlo. Estaba tan cerca de la primera vez.

            byteTemplate = rsBioData("BiometricData")
            memStreamTemplate = New MemoryStream(byteTemplate)
            Me.Template.DeSerialize(memStreamTemplate)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top