Je reçois l'erreur suivante dans mon projet WCF:Erreur lors de l'écriture C++ wrapper pour WCF
« Une exception non gérée du type 'System.InvalidOperationException' a eu lieu dans System.ServiceModel.dll
Informations complémentaires : Impossible de trouver l'élément de point de terminaison par défaut qui référence le contrat 'IPhiFeed' dans la section de configuration du client ServiceModel, car aucun fichier de configuration n'a été trouvé pour votre application ou aucun élément de point de terminaison correspondant à ce contrat.
Le projet WCF est un peu expérimental: est un mélange de C++ managé et non managé, et C#. Tout fonctionne en C# pur, mais je dois consommer WCF à partir de C++ non géré, d'où la nécessité d'écrire un wrapper C++ autour de WCF.
Mise à jour
Comme demandé, est le code ici des thats lève l'exception:
// WCF library written in C#
public class EngineAPI : IEngineAPI
{
public FeedClient client;
// constructor
public EngineAPI()
{
// the line below in this C# library works *perfectly* when called from a C#
// console app, but it fails when a C++ console app calls the same C# library
// UPDATE: exception fixed if you copy app.config to out.exe.config, see comments below
client = new FeedClient(); // << exception here
}
.....
}
// NOTE: the line "client = new FeedClient" instantiates generatedProxy.cs,
// which is generated with svcutil
// NOTE: if I temporarily delete "app.config" from the pure C# project, it generates *exactly* the same error as I'm getting when I attempt to call everything from the separate C++ project with managed code.
Mise à jour
trouvé le problème, il a été sans rapport avec le code: vous avez pour copier app.config sur out.exe.config. J'ai maintenant un projet C++/CLI travaillant à 100% appelant une bibliothèque C# qui utilise WCF. Voir mes commentaires ci-dessous.
Le code qui génère l'erreur serait utile. Sinon, une réponse pourrait être trop vague pour être utile. –
Bon point. Je l'ai mis à jour avec le code en question. – Contango