OPC UA Безопасное соединение в vb.netC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 OPC UA Безопасное соединение в vb.net

Сообщение Anonymous »


Я нашел пример кода для подключения к UA-серверу на C#:

Console.WriteLine("Настройка UA-клиента"); вар конфигурации = новая конфигурация приложения () { ИмяПриложения = "OPC_Client_SQL", ApplicationUri = Utils.Format(@"urn:{0}:BatchPlantClient", System.Net.Dns.GetHostName()), ТипПриложения = ТипПриложения.Клиент, SecurityConfiguration = новая конфигурация безопасности { ApplicationCertificate = новый CertificateIdentifier { StoreType = @"Directory", StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\MachineDefault", subjectName = "OPC_Client_SQL" }, TrustedIssuerCertificates = new CertificateTrustList { StoreType = @"Directory", StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\UA Certificate Authorities" }, TrustedPeerCertificates = новый CertificateTrustList { StoreType = @"Directory", StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\UA Applications" }, RejectedCertificateStore = новый CertificateTrustList { StoreType = @"Directory", StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\RejectedCertificates" }, AutoAcceptUntrustedCertificates = true }, TransportConfigurations = новая Коллекция TransportConfiguration(), TransportQuotas = новые TransportQuotas { OperationTimeout = 15000 }, ClientConfiguration = новый ClientConfiguration {DefaultSessionTimeout = 60000}, TraceConfiguration = новая TraceConfiguration() }; config.Validate(ApplicationType.Client).GetAwaiter().GetResult(); если (config.SecurityConfiguration.AutoAcceptUntrustedCertificates) { config.CertificateValidator.CertificateValidation += (s, e) => { e.Accept = (e.Error.StatusCode == StatusCodes.BadCertificateUntrusted); }; } Я пытался перенести его в vb.net, но получаю ошибку:

Console.WriteLine("Настройка UA-клиента") Dim config = New ApplicationConfiguration() с { .ApplicationName = "OPC_Client_SQL", .ApplicationUri = Utils.Format("urn:{0}:OPC_Client_SQL", System.Net.Dns.GetHostName()), .ТипПриложения = ТипПриложения.Клиент, .SecurityConfiguration = Новая конфигурация безопасности с { .ApplicationCertificate = Новый идентификатор сертификата с { .StoreType = "Каталог", .StorePath = "%CommonApplicationData%\OPC Foundation\CertificateStores\MachineDefault", .SubjectName = "OPC_Client_SQL" }, .TrustedIssuerCertificates = Новый список сертификатов TrustedList с { .StoreType = "Каталог", .StorePath = "%CommonApplicationData%\OPC Foundation\CertificateStores\Центры сертификации UA" }, .TrustedPeerCertificates = Новый список сертификатов TrustedList с { .StoreType = "Каталог", .StorePath = "%CommonApplicationData%\OPC Foundation\CertificateStores\UA Applications" }, .RejectedCertificateStore = Новый список сертификатов TrustList с { .StoreType = "Каталог", .StorePath = "%CommonApplicationData%\OPC Foundation\CertificateStores\RejectedCertificates" }, .AutoAcceptUntrustedCertificates = Истина }, .TransportConfigurations = Новая коллекция транспортных конфигураций(), .TransportQuotas = Новые TransportQuotas с { .OperationTimeout = 15000 }, .ClientConfiguration = Новая конфигурация клиента с { .DefaultSessionTimeout = 60000 }, .TraceConfiguration = Новая TraceConfiguration() } config.Validate(ApplicationType.Client).GetAwaiter().GetResult() Если config.SecurityConfiguration.AutoAcceptUntrustedCertificates Тогда Конфигурация AddHandler.CertificateValidator.CertificateValidation, Sub(s, e) e.Accept = e.Error.StatusCode = StatusCodes.BadCertificateUntrusted Конец, если Строка ошибки: Конфигурация AddHandler.CertificateValidator.CertificateValidation, Sub(s, e) e.Accept = e.Error.StatusCode = StatusCodes.BadCertificateUntrusted

BC36641 — параметр Lambda '' скрывает переменную во включающем блоке, ранее определенную переменную диапазона или неявно объявленную переменную в выражении запроса.

Было бы хорошо, если бы кто-нибудь помог мне решить эту проблему.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»