c# - 如何以编程方式将客户端连接到 WCF 服务?

标签 c# wcf wcf-binding wcf-client

我正在尝试将应用程序(客户端)连接到公开的 WCF 服务,但不是通过应用程序配置文件,而是通过代码。

我应该怎么做?

最佳答案

您必须使用 ChannelFactory类。

这是一个例子:

var myBinding = new BasicHttpBinding();
var myEndpoint = new EndpointAddress("http://localhost/myservice");
using (var myChannelFactory = new ChannelFactory<IMyService>(myBinding, myEndpoint))
{
    IMyService client = null;

    try
    {
        client = myChannelFactory.CreateChannel();
        client.MyServiceOperation();
        ((ICommunicationObject)client).Close();
        myChannelFactory.Close();
    }
    catch
    {
        (client as ICommunicationObject)?.Abort();
    }
}

相关资源:

关于c# - 如何以编程方式将客户端连接到 WCF 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943148/

相关文章:

c# - SpecFlow 和复杂对象

wcf - 在iis中托管wcf服务的系统要求?

带压缩的 WCF 消息安全性

c# - 为什么 WebInvoke 不允许此方法,但 WebGet 可以?

c# - 响应消息的内容类型 application/xml;charset=utf-8 与绑定(bind)的内容类型不匹配 (text/xml; charset=utf-8)

wcf - 部署使用 netTcpBinding 的 WCF 服务(非 IIS 托管)

azure - 在 Azure VM 中启用 tcp 端口

c# - 获取 WCF 响应的内容类型

c# - 客户端用户确认后调用ASPX服务器端函数?

c# - SignalR 或 Redis pubsub 用于 Azure 上的缩放发布者和缩放订阅者