J'ai créé une classe de bibliothèque proxy dans la solution de service en référençant également l'assembly de contrat et copié les bibliothèques (contrat, proxy) dans un autre dossier de solution. Puis référencé les bibliothèques Proxy, Contract et System.ServiceModel dans une autre bibliothèque de classes où j'ai besoin d'utiliser la méthode one contenue, ainsi que d'ajouter un App.Config à l'intérieur de la bibliothèque.Impossible de trouver l'élément de point de terminaison par défaut ... dans WCF Client
Le service est hébergé dans une application Windows Forms. Le client est une bibliothèque de classes appelée depuis une application Windows Forms. Je n'ai pas créé de App.Config dans le projet de formulaire Windows. En fait, le projet Windows Form charge un contrôle dans une bibliothèque et le contrôle charge la bibliothèque dans laquelle j'ai besoin d'utiliser la méthode de service. Donc je pensais que je devrais seulement référencer le (contrat et proxy) dans la dernière assemblée puisque je ne l'utiliserai nulle part ailleurs.
Mais je continue à obtenir cette erreur:
Could not find default endpoint element that references contract 'Sign.Contracts.ISignDocument' 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.
App.Config en libray appelant le proxy:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<client>
<endpoint
address="http://localhost:8731/SignHere"
binding="basicHttpBinding"
contract="Sign.Contracts.ISignDocument" />
</client>
</services>
</system.serviceModel>
</configuration>
App.Config en service Host:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="Sign.Service.SignDocumentService">
<endpoint
address="http://localhost:8731/SignHere"
binding="basicHttpBinding"
contract="Sign.Contracts.ISignDocument" />
</service>
</services>
</system.serviceModel>
</configuration>
Proxy Classe:
namespace Sign.Proxies
{
public class Proxy : ClientBase<ISignDocument>, ISignDocument
{
public string SignDocument(string document)
{
return Channel.SignDocument(document);
}
}
}
la classe du contrat:
namespace Sign.Contracts
{
[ServiceContract]
public interface ISignDocument
{
[OperationContract]
string SignDocument(string document);
}
}
Toutes les idées?
Pour mettre en forme du code ou du code XML, sélectionnez-le dans l'éditeur et appuyez sur Ctrl-K. –