在silverlight WCF调用后打印收据

本文关键字:打印 调用 silverlight WCF | 更新日期: 2023-09-27 18:29:31

对DB进行WCF调用是为了将从用户接收的数据保存在银色应用程序中。

根据业务逻辑,数据要么被保存,要么返回无法保存的数据。

如果保存了数据,则应为用户打开一个打印对话框按钮。

如果无法保存数据,则会显示一条消息,说明您保存的数据未保存为无法打印收据。

     testing()

        If kid = "S" Then
            MessageBox.Show("Invalid Session!!!")
        ElseIf kid = "D" Then
            MessageBox.Show("Session Expired!!")
            'Exit Sub
        ElseIf kid = "E" Then
            MessageBox.Show("Error occurred!!")
            'Exit Sub
        ElseIf kid = "" Then
            MessageBox.Show("Invalid Session!!")
            'Exit Sub
        Else
            If kid.Length > 4 Then
                print()
                clear()
            End If
        End If


Sub testing()
        busyIndicator.IsBusy = True
        'busyIndicator.Content = "Processing Please Wait...."
        Dim s As New services.serviceclient
        AddHandler s.confirmticketCompleted, AddressOf mcompleted

        s.confirmticketAsync(kuniqueno)
    End Sub

 Sub mcompleted(sender As System.Object, e As services.confirmticketCompletedEventArgs)
        kid = e.Result.ToUpper
        busyIndicator.IsBusy = False

    End Sub

我所期望的是当用户点击一个按钮时,testing()函数就会被调用。WCF调用之后,也就是执行mcompleted处理程序之后,应该会出现打印对话框。

WCF调用中正在更新"kid",并且将打印此"kid"的收据。

由于silverlight WCF是异步的,WCF调用和打印调用是异步的。

我甚至试着把print()函数放在mcompleted处理程序中,出现了"打印对话框应该由用户启动"的错误。

请帮忙!!!

WCF调用更新"kid"后应出现打印对话框

在silverlight WCF调用后打印收据

您应该将检查代码放在"mcompleted"方法中。服务方法是异步执行的。