1. 2. 3. - goto blog · pdf filepublic async task sendtotopicasync(string topic, string...

60

Upload: doanh

Post on 16-Feb-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 2: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

1.

2.

3.

Page 3: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

1.

2.

3.

Page 4: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 5: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 6: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

Windows 10 IoT Core

Universal Windows Platform (UWP)

Microsoft Azure

Page 7: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 8: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 9: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 10: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 11: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

v6.5

Windows Embedded Handheld

Windows Embedded

Windows on Devices

Windows Embedded Standard

v8.1

Co

nverg

ed

O

S k

ern

el

Co

nverg

ed

ap

p m

od

el

v7

Windows Embedded Compact

Windows 10

v2013

v8

v7

One core

Multiple SKUs

Page 12: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 13: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 14: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

Premium

Entry

$

Device Capabilities

Page 15: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

Windows 10 IoT for industry devices Desktop Shell, Win32 apps, Universal Windows Apps and Drivers

1 GB RAM, 16 GB Storage

X86

Windows 10 IoT for mobile devices Modern Shell, Universal Windows Apps and Drivers

512 MB RAM, 4 GB storage

ARM

Windows 10 IoT Core No Shell, Universal Windows Apps and Drivers

256MB RAM, 2GB storage

X86 or ARM

Premium

Entry

$

Device Capabilities

Page 16: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 17: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 18: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 19: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 20: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

...and many more!

Page 21: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 22: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 23: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 24: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 25: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 26: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 27: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 28: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 29: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 30: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

Device Connectivity Storage Analytics Presentation & Action

Event Hubs SQL Database Machine

Learning App Service

Service Bus Table/Blob

Storage

Stream

Analytics Power BI

External Data

Sources DocumentDB HDInsight

Notification

Hubs

External Data

Sources Data Factory Mobile Apps

BizTalk Services

{ }

Page 31: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 32: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 33: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 34: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 35: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 36: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

public async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING); builder.TransportType = TransportType.Amqp; var factory = MessagingFactory.CreateFromConnectionString(TOPIC_CONNECTION_STRING); TopicClient client = factory.CreateTopicClient(topic); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(message)); BrokeredMessage brokeredMessage = new BrokeredMessage(stream); brokeredMessage.Properties["time"] = DateTime.UtcNow; await Task.Run(() => client.Send(brokeredMessage)); client.Close(); factory.Close(); }

Page 37: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

public async void ReceiveFromTopicSubscriptionAsync(string topic, string subscription) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING); builder.TransportType = TransportType.Amqp; var factory = MessagingFactory.CreateFromConnectionString(TOPIC_CONNECTION_STRING); SubscriptionClient client = factory.CreateSubscriptionClient(topic, subscription); while (true) { try { BrokeredMessage request = await Task.Run(() => client.Receive()); request.Complete(); BrokeredMessageReceived(this, new BrokeredMessageReceivedEventArgs(request)); } catch (Exception ex) { // TODO: Handle bad message from WateringCommands topic } } }

Page 38: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 39: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 40: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 41: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

public async Task SendToPartitionAsync(string message, string partitionId) { var builder = new ServiceBusConnectionStringBuilder(EVENT_HUB_CONN_STRING); builder.TransportType = TransportType.Amqp; var factory = MessagingFactory.CreateFromConnectionString(EVENT_HUB_CONN_STRING); EventHubClient client = factory.CreateEventHubClient(EVENT_HUB_NAME); EventHubSender sender = client.CreatePartitionedSender(partitionId); EventData data = new EventData(Encoding.UTF8.GetBytes(message)); data.Properties["time"] = DateTime.UtcNow; await Task.Run(() => sender.Send(data)); sender.Close(); client.Close(); factory.Close(); }

Page 42: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

public async void ReceiveFromPartitionAsync(string partitionId, string eventHubEntity) { var builder = new ServiceBusConnectionStringBuilder(EVENT_HUB_CONN_STRING); builder.TransportType = TransportType.Amqp; var factory = MessagingFactory.CreateFromConnectionString(EVENT_HUB_CONN_STRING); EventHubClient client = factory.CreateEventHubClient(eventHubEntity); EventHubConsumerGroup group = client.GetDefaultConsumerGroup(); EventHubReceiver receiver = group.CreateReceiver(partitionId); while (true) { EventData data = await Task.Run(() => receiver.Receive()); if (data == null) continue; EventHubMessageReceived(this, new EventHubMessageReceivedEventArgs(data)); } }

Page 43: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 44: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 45: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 46: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 47: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 48: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 49: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 50: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 51: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 52: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 53: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 54: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 55: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 56: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 57: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);

1.

2.

3.

Page 58: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 59: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);
Page 60: 1. 2. 3. - GOTO Blog · PDF filepublic async Task SendToTopicAsync(string topic, string message) { var builder = new ServiceBusConnectionStringBuilder(TOPIC_CONNECTION_STRING);