我正在运行一个相当基本的Azure IoT C#模块。最初,一切正常。但是,当我为边缘集线器设置X.509证书时,出现了以下模块身份验证错误。似乎有些依赖使用AMQP / MQTT协议的Tcp_only或Websocket_only选项(后者不会引发异常),但这在模块之间不一致。
令人反感的代码行如下 ..
// Open a connection to the Edge runtime
ioTHubModuleClient = await ModuleClient.CreateFromEnvironmentAsync(settings);
await ioTHubModuleClient.OpenAsync();
错误消息如下。本质上,等待等待超时是因为身份验证未完成。据我所知,身份验证是直接从物联网边缘运行时派生的,因此不确定为什么它专门尝试进行身份验证或错误提示...
未处理的异常:System.AggregateException:一个或多个错误 发生。 (根据 验证程序。)---> System.Security.Authentication.AuthenticationException:远程 根据验证程序,证书无效。在 Microsoft.Azure.Devices.Client.InternalClient。<> c.b__62_2(任务 t)在System.Threading.ExecutionContext.Run(ExecutionContext executeContext,ContextCallback回调,对象状态),位于 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)---从先前位置开始的堆栈结束跟踪 引发了异常--- System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在SampleModule.Program.d__10.MoveNext()中 /app/Program.cs:第69行---内部异常堆栈跟踪的结尾--- System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) System.Threading.Tasks.Task.Wait(Int32毫秒超时, 的CancellationToken cancelToken() /app/Program.cs:第41行中的SampleModule.Program.Main(String [] args)