2013-10-09 3 views
0

Si j'ajoute une référence de service Web à une application C#, je peux créer une instance de la classe client et appeler le service sans problème. Cependant, si je fais la même chose à une bibliothèque C# qui est appelé par une bibliothèque gérée C++ je reçois le message d'erreur suivant lorsque je tente de créer le client:Comment ajouter une référence de service à une bibliothèque C#?

Could not find default endpoint element that references contract 'ServiceReference1.IMyService' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element. 

J'ai vérifié le app.config et l'entrée de l'endpoint est définitivement dans la section client, donc je suppose que le problème est que l'app.config lui-même n'est pas référencé car il se trouve dans une bibliothèque. En gardant à l'esprit que l'application appelante est gérée en C++, quelle est la meilleure façon de la faire fonctionner?

Répondre

1

Vous pouvez définir votre point final dans le code, si vous ne prévoyez pas changer le point final:

EndpointAddress address = new EndpointAddress("http://serviceEndpointUri"); 
    BasicHttpBinding binding = new BasicHttpBinding(); 

    using (ReferenceServiceClient client = new ReferenceServiceClient(binding, address)) 
    { 
     ... 
    } 
+0

Cela a fonctionné, merci John. Je suppose que je pourrais demander une clarification sous la forme de "comment puis-je référencer un fichier app.config d'une bibliothèque?" mais c'est un doublon d'autres questions sur StackExchange donc je vais marquer cela comme la réponse. Merci encore! –

Questions connexes