Кто-нибудь знает, как получить доступ к службе wcf от клиента, использующего фабрику каналов?

#vb.net #wcf #channelfactory

#vb.net #wcf #channelfactory

Вопрос:

Я попробовал это…но это не работает..

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim channel As New ChannelFactory(Of IWidgetServiceProxy)(
                                 New WSHttpBinding(), 
                                 "http://localhost:4676/WidgetServiceProxy.svc")
     Dim client As IWidgetServiceProxy = channel.CreateChannel()

     Dim str As String = client.GetWidgetInstanceTitle()


     Response.Write(str)
     'ProcessStatuses(resp)

End Sub
  

Комментарии:

1. что вы подразумеваете под «не работает»? пожалуйста, добавьте сообщение об ошибке

Ответ №1:

Этот код сработал для меня :

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)        Handles Me.Load

    Dim intr As IWc fInterface
    Dim chnl As ChannelFactory(Of IWcfInterface) = New ChannelFactory(Of IWcfInterface)(New WebHttpBinding(), "http://localhost:49821/Service1.svc")
    chnl.Endpoint.Behaviors.Add(New WebHttpBehavior())
    intr = chnl.CreateChannel()

    Using New OperationContextScope(DirectCast(intr, IContextChannel))

        Dim rspnse As List(Of UserDetails) = intr.GetDataFromDB()
        GridView1.DataSource = rspnse
        GridView1.DataBind()
    End Using
End Sub
  

Комментарии:

1. Siya: Не могли бы вы поделиться кодом VB, который может работать в Excel VBA, пожалуйста?