Ich erstelle einen WCF-Dienst mithilfe des Nachrichtenvertragsmodells.Wie kann ich den Namen eines generischen WCF-Nachrichtenvertrags steuern?
Ich habe einen allgemeinen Anfrage Nachrichtenvertrag wie so erstellt:
[MessageContract]
public Request<T>
{
[MessageBodyMember]
public T Details { get; set; }
}
ich zur Verwendung von [DataContract(Name="Contract{0}")]
verwende lesbaren Namen für generische Datenverträge zu produzieren, aber dieser Ansatz scheint nicht für mich zu arbeiten Nachricht mit Verträge.
Gibt es eine Möglichkeit, das gleiche Verhalten mit dem Nachrichtenvertragsmodell zu erreichen?
Ich versuchte dies mit WrapperName = "WrapperFor {0}", aber dies zu einem ziemlich fiesen Namen in der WSDL (das Unicode-Äquivalent von {0}) gelöst und führte nicht die Übersetzung, die ich erwartet hatte. –
Darüber hinaus scheint dies eine Ausnahme auszulösen, wenn "T" auch ein generischer Typ ist und die Eigenschaft "DataContract Name" Platzhalter verwendet, z. 'GenericOf {0}'. Ich würde mich interessieren zu wissen, ob Generic MessageContracts und DataContracts zusammen mit überschriebenen generischen Namen verwendet werden können, so habe ich ein Kopfgeld auf diese Frage gesetzt –