2016-04-19 15 views
0

Ich habe eine Konsolen-App, die über Azure IoT Hub Befehle direkt an einen Raspberry Pi sendet. Alles funktioniert gut.Instantiate DeviceClient mit IoT Hub

Wo ich aber verwirrt bin, ist auf den zwei verschiedenen Möglichkeiten (möglicherweise mehr?) DeviceClient instanziieren.

Ex:

deviceClient = DeviceClient.Create(IOT_HUB_HOST_NAME, AuthenticationMethodFactory 
     .CreateAuthenticationWithRegistrySymmetricKey(IOT_HUB_DEVICE, IOT_DEVICE_KEY), TransportType.Http1); 

oder

deviceClient = DeviceClient.CreateFromConnectionString(IOT_HUB_CONN_STRING); 

scheinen das Gleiche zu tun.

Warum sollte ich eins über das andere verwenden? Ich kann Nachrichten auf jede Art empfangen.

Antwort

1

Ja, am Ende des Tages haben sie das gleiche Ergebnis.

https://github.com/Azure/azure-iot-sdks/blob/master/csharp/device/Microsoft.Azure.Devices.Client/DeviceClient.cs

Erstellen (...) Methode ruft IotHubConnectionStringBuilder.Create (...) dann CreateFromConnectionString (...) und hat die Beschreibung, dass es das Verfahren ist, das aus DeviceClient einzelnen Parametern erzeugt.

Also, ich glaube, die Create ist eine Art der Wrapper, der die Parameter erhält, dann erstellt die Verbindungszeichenfolge aus den einzelnen Parametern und übergibt das an den CreateFromConnectionString (...). Also, der Hauptunterschied, denke ich, wird über die Leistung sein.

+0

Ehrfürchtig, danke! –

Verwandte Themen