【问题标题】:Effective web service connection management in vb.netvb.net 中有效的 Web 服务连接管理
【发布时间】:2014-10-29 08:16:32
【问题描述】:

我正在寻找一种有效的方法来管理我正在开发的 wpf 客户端应用程序中的 Web 服务连接,目前我在应用程序窗口打开期间在我的客户端应用程序上打开服务连接,直到用户关闭应用程序然后我关闭连接对象,用户可以使用同一个对象进行多个服务调用,但是我仍然觉得这效率不高,任何想法都将不胜感激。

【问题讨论】:

  • 为什么不在需要的地方调用服务呢?只需考虑使用 Keep-Alive 来保持 HTTP 连接。
  • 你说我可以在拨打电话后立即关闭连接?使用保活选项
  • 是的,我会朝那个方向发展。
  • 我看到一些文章推荐使用通道工厂方法进行 Web 服务调用,我正在研究它,如果效果很好,我会发布我的编码方法,谢谢。跨度>

标签: wpf vb.net wcf


【解决方案1】:
 Dim channel_factory As ChannelFactory(Of UnifyService.EnquiryServiceChannel)
  channel_factory = New ChannelFactory(Of UnifyService.EnquiryServiceChannel)("AccessPoint")
        'initialize secuirty credentials for the channel 
        channel_factory.Credentials.UserName.UserName = "uname"
        channel_factory.Credentials.UserName.Password = "pword"

这包含在一个名为 WebServices 的单例类中 该类还公开了一个 dispose 连接代码,当主应用程序窗口关闭时调用该代码。

    Public Sub disposeConnection()
    If channel_factory IsNot Nothing Then
        channel_factory.Close()
        If channel_factory.State = CommunicationState.Opened Then
            channel_factory.Abort()
        End If


    End If
End Sub

该类使用相同的通道工厂来进行所有服务调用并向应用程序传递响应。这对我来说是这样做的,我愿意接受任何进一步的想法或建议。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2018-12-23
    • 1970-01-01
    • 2019-10-09
    • 2016-01-21
    • 1970-01-01
    • 2011-11-09
    相关资源
    最近更新 更多