任何人都知道为什么最新的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中
答案 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。