没有接口的ChannelFactory <T>

Sma*_*ode 2 c# wcf soap

我目前正在尝试创建一个调用WCF SOAP服务的REST代理,我试图建立一个通道来发送消息.我知道我需要使用ChannelFactory,但我没有该服务的接口.我可以通过默认值吗?还有其他方法来打包邮件吗?

当我说消息时,我的意思是来自ServiceModels.Channels.Message.

我对此非常陌生,所以任何帮助都会受到赞赏.

Enr*_*lio 5

您可以通过以下两种方式之一从WSDL服务协定生成WCF客户端:

无论哪种方式都将生成与服务契约公开的类型相对应的.NET类以及可用于调用服务操作的WCF客户端代理类:

try
{
    var client = new MyServiceClient();
    client.DoSomething();
    client.Close();
}
catch
{
    if (client != null)
    {
         client.Abort();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您更喜欢使用较低级别的ChannelFactory API,则应使用生成的IClientChannel接口:

try
{
    var factory = new ChannelFactory<MyServiceChannel>();
    var client = factory.CreateChannel();
    client.DoSomething();
    client.Close();
}
catch
{
    if (client != null)
    {
         client.Abort();
    }
}
Run Code Online (Sandbox Code Playgroud)