OPC UA .NET客户端 - 无法使用UaTcpBinding创建传输

时间:2015-08-27 23:11:43

标签: opc opc-ua

任何人都知道为什么最新的OPC.UA.Core.dll中缺少UaTcpBinding绑定类?

创建ApplicationConfiguration.TransportConfiguration时,我认为你必须在集合中添加TransportConfiguration,如:

Instance_of_ApplicationConfiguration.TransportConfiguration.Add(
    new TransportConfiguration
    (Utils.UriSchemeOpcTcp,typeof(Opc.Ua.Bindings.UaTcpBinding)));

使用默认的'opc.tcp'传输创建ApplicationConfiguration是否有技巧?

UaTcpBinding出现在OPC.UA.Core.dll v1.0.238.1

UaTcpBinding不在OPC.UA.Core.dll v1.2.336.0中

1 个答案:

答案 0 :(得分:0)

听起来您熟悉原始的WCF风格绑定。有些仍在最新版本中:

// Opc.Ua.BindingFactory
private static void AddDefaultBindings(Dictionary<string, Type> table)
{
    table.Add("http", typeof(UaSoapXmlBinding));
    table.Add("net.tcp", typeof(UaSoapXmlOverTcpBinding));
    table.Add("net.pipe", typeof(UaSoapXmlOverPipeBinding));
}

但是新版本更喜欢使用Session.Create(),它是硬编码的,用于查找以“opc.tcp”(或“https”)开头的端点,并创建一个TcpTransportChannel(或HttpsTransportChannel)。

无需再设置TransportConfiguration。