| 

.NET C# Java Javascript Exception

2
Ich schreibe gerade eine Klassenbibliothek welche einen SOAP-Webservice ansteuert. Dabei müssen in der aufrufenden Assembly in die App.config etliche Eintäge z.B. für die EndpointURL etc. eingetragen werden.

Ich würde aber gerne, das die Klassenbibliothek ihre eigene App.Config benutzt, da die EndpointURL fix ist und ich es eher unpraktisch finde, das jeder, der meine Bilbiothek nutzt, Wissen über die URL haben muss. Rein Prinzipiell sollte das der aufrufenden Anwendung egal sein.

Perfekt wäre es, wenn die auch der Aufrufer entsprechende Einträge in dessen app.config bereitstellen könnte, und nur wenn diese nicht vorhanden sind, die aus der app.config aus der ClassLibrary genommen werden. Soweit ich ergoogelt habe, soll das wohl mit dem ConfigurationManager gehen. Aber ich habe bisher noch keinen blassen Schimmer, wie genau.

Falls jemand ein paar kurze Erläuterungen oder gute Links dazu hat, wäre ich sehr dankbar.
Jens
27.05.2011
Jens Duczmal 2,6k 1 3 9
2 Antworten
2
Hallo Jens,

Ich habe gute Erfahrungen gemacht den Client in Code zu gießen - bei dem ich bei der Erzeugung die Adresse übergeben kann. Damit ist eine client-seitige app.config gar nicht mehr nötig - und du kannst die Adresse direkt im Code übergeben!

Ist dies ein .asmx-Webservice - oder ein WCF-Service?

Als Beispiel das Vorgehen bei einem WCF-Webservice...

Vorgehen:
1. Service Reference des Webservices dem Client-Projekt hinzufügen
2. Client (im Code) erzeugen

Beispielcode:
//Adresse des Endpoints
string adresse = "http://webservices.firma.de/WebService";

//Welches Binding nutzt der Service?
WSHttpBinding binding = new WSHttpBinding();
//Welche Authentifizierung?
binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
binding.MaxReceivedMessageSize = 1048576; //1MB

WebServiceClient client = new WebServiceClient(binding, new EndpointAddress(adresse));
client.ClientCredentials.UserName.UserName = username;
client.ClientCredentials.UserName.Password = password;


MfG Michel
27.05.2011
michel 71 1
1
Hift dir das weiter?

http://msdn.microsoft.com/de-de/library/system.configuration.configurationmanager.openmappedexeconfiguration.aspx#Y25

Da wird beschrieben, wie du eine beliebige Config-Datei auslesen/schreiben kannst. Es könnte bei dir ja jeder User oder jede Bibliothek eine eigene config haben.
27.05.2011
KN 1,7k 1 8
KN 1,7k 1 8
Vielen Dank Euch Beiden für den Code und die Links. Ich werde es vermutlich heute nicht mehr schaffen, beides zu versuchen und von daher werdet Ihr bestimmt erst Montag von mir hören. Ich bestätige die Antwort, die mir geholfen hatt, deshalb später :)
Jens Duczmal 27.05.2011

Stelle deine App.config-Frage jetzt!