Imaginez que j'ai cette classeComment éviter les conflits lors de l'utilisation des services? (.NET C#)
namespace CommonLibrary
{
public class Report()
{
public DateTime Begin { get; set; }
public int Count { get; set; }
}
}
C'est le type de retour d'une méthode de service WCF. Quand je l'utilise svcutil.exe il régénère la classe de métadonnées:
namespace CommonLibrary
{
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="TrafficProblemReport", Namespace="http://schemas.datacontract.org/2004/07/Indica")]
public partial class TrafficProblemReport : object, System.Runtime.Serialization.IExtensibleDataObject
{
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
private System.DateTime BeginField;
private int CountField;
[System.Runtime.Serialization.DataMemberAttribute()]
public System.DateTime Begin
{
get
{
return this.BeginField;
}
set
{
this.BeginField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public int Count
{
get
{
return this.CountField;
}
set
{
this.CountField = value;
}
}
}
}
Mais il est en conflit avec la définition CommonLibrary. J'ai des erreurs de compilation lorsque je tente de transmettre le résultat de la méthode de Webservice (rapport) à une méthode de CommonLibrary:
Erreur 4 Le match de la meilleure méthode surchargée pour « CommonLibrary.ClassName.MethodName (CommonLibrary.Report) » a une certaine arguments non valides
Comment résoudre ce problème sans créer d'espaces de noms supplémentaires? (Je souhaite éviter la conversion de type)
parlez-vous généré proxy et propre classe créée dans le projet client WCF? –
Je référence à la fois –