DigitalPersona序列化

时间:2012-04-26 01:34:49

标签: vb.net serialization digital-persona-sdk

在这里遇到一个小问题我不知道代码哪里错了

    Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click
    Dim str As New MemoryStream
    Dim Serializetemplate As New DPFP.Template
    Serializetemplate.Serialize(str)
    Dim serializedTemplate As Byte() = str.ToArray()

    'save to database
    opencon1()
    Dim cmd As MySql.Data.MySqlClient.MySqlCommand
    cmd = New MySql.Data.MySqlClient.MySqlCommand
    cmd.Parameters.AddWithValue("?imagedata", serializedTemplate)
    cmd.Parameters.AddWithValue("?userid", txtEmpid.Text)
    cmd.CommandText = "UPDATE master SET fp1=?imagedata WHERE userid=?userid"
    cmd.CommandType = CommandType.Text
    cmd.Connection = con1
    cmd.ExecuteNonQuery()
End Sub

我在 Serializetemplate.Serialize(str)时遇到错误,错误消息错误序列化

有人遇到过这个错误并解决了吗?

1 个答案:

答案 0 :(得分:1)

约瑟夫我对VB不是很了解,但据我所知,你宣布一个新的DPFP.Template,然后将其序列化到你的内存流中。你为什么这样做?

鉴于您正在注册或验证SDK,您将在事件处理程序上为您提供模板

private void Enrolled(object Control, int Finger, DPFP.Template Template, ref DPFP.Gui.EventHandlerStatus Status)
{
   if (Status == DPFP.Gui.EventHandlerStatus.Success)
   {
      // Here you can use the template as  Template.Bytes
   }
}

模板已经序列化为byte []。

我认为,鉴于您只是创建模板(空白),那么当您尝试序列化时,它会引发异常。