WCF在.NET 3.5中的ServiceHost构造函数

时间:2013-04-03 15:13:44

标签: vb.net wcf .net-3.5

我有一个使用WCF的应用程序,它是针对.NET 3.5构建的。

我无法理解以下电话:

Dim myHost As ServiceHost = New ServiceHost(New ClientService())

其中ClientService是:

<ServiceBehavior(InstanceContextMode:=InstanceContextMode.Single)> Public Class ClientService
Implements IClientService

    Public Event SystemNotificationEvent As EventHandler(Of SystemNotificationEventArgs)

    Public Sub SendNotification(ByVal message As Message.SystemNotificationMessage) Implements IClientService.SendNotification
        RaiseEvent SystemNotificationEvent(Me, New SystemNotificationEventArgs(message))
    End Sub

End Class

和IClientService是:

Public Interface IClientService

    <OperationContract()> _
    Sub SendNotification(ByVal message As Message.ServiceMessage)

End Interface

当我查看.NET 3.5 for ServiceHost构造函数选项的文档时,我看到的只有三个选项:

  1. ServiceHost() - 初始化ServiceHost类的新实例。
  2. ServiceHost(Object,Uri()) - 使用服务实例及其指定的基址初始化ServiceHost类的新实例。
  3. ServiceHost(Type,Uri()) - 使用服务类型及其指定的基址初始化ServiceHost类的新实例。
  4. 我的示例中的代码使用哪个构造函数?

    谢谢。

1 个答案:

答案 0 :(得分:1)

第二个。如果您查看declaration for that constructor,您会看到第二个参数(Uri())是使用ParamArray修饰符声明的,这意味着您的调用正在将一个空数组Uri传递给它