3 Stimmen

Was ist in .NET das Laufzeitäquivalent meiner app.config-Einstellung?

Wenn ich die folgende Einstellung in meiner app.config-Datei habe. Es ist eine Einstellung, die ich benötige, um sicherzustellen, dass mein WCF-Client den Standard-Proxy-Server aushandeln kann.

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>

Leider kann ich die Datei app.config in meiner Umgebung nicht hinzufügen. Wie kann ich diese Einstellungen sicherstellen, indem ich sie zur Laufzeit einstelle?

0voto

Zachary Yates Punkte 12207

Ich denke, was Sie tun, ist eine System.Net.WebProxy Objekt, setzen Sie dann die entsprechenden Variablen, und setzen Sie dann die System.Net.WebRequest.DefaultWebProxy :

System.Net.WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
WebRequest.DefaultWebProxy = proxy;

In diesem Beitrag geht es um die ganze Sache: Lien

Ich hoffe, das hilft!

0voto

Joel Coehoorn Punkte 377088

Auf der Eigenschaftsseite Ihres Projekts sollte es eine Registerkarte Einstellungen geben. Alles, was Sie dort eintragen, befindet sich in einer *.settings-Datei im Projekt, wird aber bei der Bereitstellung auch automatisch in die app.config-Datei aufgenommen. Können Sie dort Änderungen vornehmen?

0voto

Mitch Baker Punkte 624

Ich nehme an, dass Sie eine Bindung verwenden, die von WSHttpBindingBase erbt. Wenn ja, können Sie auch versuchen, die Eigenschaft "UseDefaultWebProxy" im Code zu setzen. Etwas wie dies:

myWSHttpBinding.UseDefaultWebProxy = True;

Edita: BasicHttpBinding hat auch die gleiche Eigenschaft.

-2voto

Charles Bretana Punkte 137391

Wie auch immer der definierte Name Ihrer ausführbaren (nicht bibliothekarischen dll) Assembly lautet, fügen Sie am Ende ein ".config" hinzu...

Wenn Ihre ausführbare Datei also wie folgt aussehen soll

AcmeWidgets.EastCoast.MyApplicationName.exe

Dann wird die app.config umbenannt in

AcmeWidgets.EastCoast.MeinAnwendungsname.exe.config

Ich würde Ihnen jedoch nicht empfehlen, diese Einstellungen (in der Konfigurationsdatei auf der Festplatte) zur Laufzeit dynamisch zu ändern...

können Sie stattdessen Ihre App so codieren, dass sie stattdessen statische Variablen aus diesen Konfigurationseinstellungen auffüllt und verwendet... und dann die dynamische "Wert ändern"-Funktionalität implementieren, so dass sie diese statischen Variablen ändert...

Auf diese Weise können Sie das Laufzeitverhalten immer noch dynamisch "beeinflussen", vermeiden aber den Aufwand, in die Konfigurationsdatei zu schreiben, und das Ops-Management kann die "Standardwerte" in der Konfigurationsdatei verwalten, indem es sie bearbeitet...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X