关于AZURE Iot Hub官网demo运行的问题

weixin_38054276 2016-04-28 11:53:13
我从官网上下载的Iot hub demo,用的vs2015,但是运行起来总是有问题,显示的是:系统检测到在一个调用中尝试使用指针参数时的无效指针地址。有没有哪位遇到类似的情况,异常如下,代码如下
exception:Microsoft.ServiceBus.Messaging.MessagingCommunicationException was unhandled  HResult=-2146233088  IsTransient=true  Message=系统检测到在一个调用中尝试使用指针参数时的无效指针地址。  Source=Microsoft.ServiceBus  StackTrace:       在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)       在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.RunSynchronously()       在 Microsoft.ServiceBus.Messaging.Amqp.AmqpEventHubClient.GetRuntimeInformation()       在 ReadDeviceToCloudMessages04.Program.Main(String[] args) 位置 F:\学习课件\C#学习资料\AZURE练习程序\ReadDeviceToCloudMessages\ReadDeviceToCloudMessages04\Program.cs:行号 34       在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)       在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)       在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()       在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)       在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)       在 System.Threading.ThreadHelper.ThreadStart()  InnerException:        ErrorCode=10014       HResult=-2147467259       Message=系统检测到在一个调用中尝试使用指针参数时的无效指针地址。       NativeErrorCode=10014       Source=Microsoft.ServiceBus       StackTrace:         Server stack trace:             在 System.Net.Sockets.Socket.get_RemoteEndPoint()            在 Microsoft.ServiceBus.Messaging.Amqp.Transport.TcpTransport..ctor(Socket socket, TcpTransportSettings transportSettings)            在 Microsoft.ServiceBus.Messaging.Amqp.Transport.TcpTransportInitiator.Complete(SocketAsyncEventArgs e, Boolean completeSynchronously)         Exception rethrown at [0]:             在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)            在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.ConnectAsyncResult.<GetAsyncSteps>b__9e(ConnectAsyncResult thisPtr, IAsyncResult r)            在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)         Exception rethrown at [1]:             在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)            在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.EndCreateConnection(IAsyncResult result)            在 Microsoft.ServiceBus.Messaging.Amqp.FaultTolerantObject`1.CreateAsyncResult.<GetAsyncSteps>b__4(CreateAsyncResult thisPtr, IAsyncResult r)            在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)         Exception rethrown at [2]:             在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)            在 Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)            在 Microsoft.ServiceBus.Messaging.Amqp.FaultTolerantObject`1.OnEndCreateInstance(IAsyncResult asyncResult)            在 Microsoft.ServiceBus.Messaging.SingletonManager`1.EndGetInstance(IAsyncResult asyncResult)            在 Microsoft.ServiceBus.Messaging.Amqp.AmqpMessagingFactory.CreateManagementLinkAsyncResult.<>c__DisplayClass17a.<GetAsyncSteps>b__175(CreateManagementLinkAsyncResult thisPtr, IAsyncResult r)            在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)         Exception rethrown at [3]:             在 Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)            在 Microsoft.ServiceBus.Messaging.Amqp.AmqpEventHubClient.GetRuntimeInfoAsyncResult.<GetAsyncSteps>b__14(GetRuntimeInfoAsyncResult thisPtr, IAsyncResult r)            在 Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)       InnerException: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;
using System.Threading;

namespace ReadDeviceToCloudMessages04
{
class Program
{
static string connectionString = "xxxxx";
static string iotHubD2cEndpoint = "messages/events";
static EventHubClient eventHubClient;
private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct)
{
var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
while (true)
{
if (ct.IsCancellationRequested) break;
EventData eventData = await eventHubReceiver.ReceiveAsync();
if (eventData == null) continue;

string data = Encoding.UTF8.GetString(eventData.GetBytes());
Console.WriteLine("Message received. Partition: {0} Data: '{1}'", partition, data);
}
}
static void Main(string[] args)
{
Console.WriteLine("Receive messages. Ctrl-C to exit.\n");
eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, iotHubD2cEndpoint);
// var d2cPartitionss = eventHubClient.GetRuntimeInformation();
var r = eventHubClient.GetRuntimeInformation().PartitionIds;
var d2cPartitions = eventHubClient.GetRuntimeInformation().PartitionIds;

CancellationTokenSource cts = new CancellationTokenSource();

System.Console.CancelKeyPress += (s, e) =>
{
e.Cancel = true;
cts.Cancel();
Console.WriteLine("Exiting...");
};

var tasks = new List<Task>();
foreach (string partition in d2cPartitions)
{
tasks.Add(ReceiveMessagesFromDeviceAsync(partition, cts.Token));
}
Task.WaitAll(tasks.ToArray());
}
}
}
...全文
13 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧