2016-06-12 15 views
1

Ich habe .NET-Projekt, in dem ich APP.Client.Proxy-Klasse haben Bibliotheksprojekt, verantwortlich WCF für Client-Seite zu implementieren, so dass alle Dienste und End-Konfiguration Details da sind und dann habe ich ein anderes ASP.NET MVC-Projekt mit dieser Dienste-Implementierung, dh vom Controller. Jetzt, wenn ich Dienste und Endpunktdetails in app.config für das Klassenbibliotheksprojekt lege, funktioniert es nicht. Beschwerden darüber können den Endpunkt nicht finden, funktionieren aber, wenn ich Endpunktkonfigurationsdetails in web.config für die MVC-Webanwendung lege .WCF-Client-Implementierung, gibt es Möglichkeit, Dienste und Endpunkt Details in der Klassenbibliothek app.config statt web.config für ASP.NET MVC-App

Meine Frage ist es so, dass ich die Dienste halten und Endpunktes Detail getrennt in app.config in Klassenbibliothek eher dann web.config

+0

Die App-Domäne verwendet beim Ausführen eine Konfigurationsdatei. während app setting und connection strings sections erlauben, auf 'file' und' configSource' zu ​​referenzieren, bzw. könntest du prüfen, ob das selbe gilt für den Abschnitt – Nkosi

+0

der wcf config http://weblogs.asp.net/cibrax/configsource-attribute-on- system-servicemodel-section oder https://blogs.msdn.microsoft.com/youssefm/2009/11/03/separating-out-wcf-configuration-into-multiple-files-with-configsource/ – Nkosi

Antwort

1

Die App Domain verwendet eine Konfigurationsdatei beim Ausführen. Während App Setting und Connection Strings Abschnitte Verweis auf externe Datei bzw. ConfigSource ermöglichen.

Nach einigen schnellen GoogleFu cam ich über diese beiden Artikel

http://weblogs.asp.net/cibrax/configsource-attribute-on-system-servicemodel-section

https://blogs.msdn.microsoft.com/youssefm/2009/11/03/separating-out-wcf-configuration-into-multiple-files-with-configsource/

Die Crux daran ist, dass man es nicht in der Klassenbibliothek Config verlassen können, aber man kann sie immer noch trennen in externe Konfigurationsdateien.

<configuration> 
    <!-- other code removed for brevity --> 
    <system.serviceModel> 
    <services configSource="Services.config" > 

    </services> 
    <bindings configSource="Bindings.config"> 

    </bindings> 
    <behaviors configSource="Behaviors.config"> 

    </behaviors> 
    </system.serviceModel> 
    <!-- other code removed for brevity --> 
</configuration> 
+0

das sind gute informationen, aber ich habe gesucht, um es komplett in separate Klassenbibliothek und natürlich die gesamte Implementierung und Aufruf von dort zu setzen, so dass, wenn wir beschlossen, für eine andere Anwendung zu gehen, ich muss nichts anderes tun, als nur Implementierungsklassen aus der Klasse aufrufen Bibliothek – toxic

+0

auch ich spreche über Client-Seite nicht Server-Seite – toxic

+0

Das gleiche gilt noch. App-Domain wird nur die Hauptkonfiguration verwenden. Da es sich um eine Klassenbibliothek handelt, wird sie immer noch in der einen App-Domäne ausgeführt und über web.config abgerufen. – Nkosi