Azure IoT Hub .NET: HTTP-Proxy für RegistryManager festlegen
Erstellen Sie einen Azure IoT Hub RegistryManager mit HttpTransportSettings.Proxy aus dem Dienst-SDK, statt sich auf einen unpassenden Gerätetransport zu verlassen.
Microsoft.Azure.Devices 1.38.1 stellt einen HTTP-Proxy über sein dienstseitiges HttpTransportSettings bereit. Übergeben Sie ihn beim Erstellen des RegistryManager:
var proxy = new System.Net.WebProxy("http://proxy.example:8080");
var settings = new Microsoft.Azure.Devices.HttpTransportSettings
{
Proxy = proxy
};
var registry = Microsoft.Azure.Devices.RegistryManager
.CreateFromConnectionString(iotHubConnectionString, settings);
Verwenden Sie diese Registry-Instanz für die vorgesehenen Vorgänge und behalten Sie sie für die Lebensdauer der Arbeitslast. Behalten Sie die tatsächliche IoT Hub-Verbindungszeichenfolge: Die Proxyadresse gehört in die Transporteinstellungen. Die HTTP-Proxy-Liste bietet Kandidaten für eine öffentliche HTTP-Route, die dieser RegistryManager nutzt.
Wenn der Proxy eine Anmeldung verlangt, setzen Sie proxy.Credentials vor dem Erstellen des Clients. Die IoT Hub-Verbindungszeichenfolge authentifiziert die Dienstanforderung und liefert dieses Zwischenkonto nicht.
Dieses HttpTransportSettings gehört zum Dienstpaket Microsoft.Azure.Devices. MQTT- und AMQP-Verbindungen des Geräteclients verwenden andere Einstellungen, daher belegt ein erfolgreicher Registry-Vorgang nur, dass die HTTP-Dienstroute funktioniert hat.