Ich mag diesesVerbrauchen WCF-Dienst mit demselben Namen und demselben Ziel-Namensraum von BizTalk
Namespace Company.BO.Contracts ein WCF-Dienst Service-Szenario habe {
public interface ITypeService { }
public partial interface IType1Services : ITypeService
{
[OperationContract()]
Type1 GetType1(System.Int32 idValue);
[OperationContract()]
Type1 Save(Type1 myType1, System.Int32 changeUser);
}
public partial interface IType2Services : ITypeService
{
[OperationContract()]
Type2 GetType2(System.Int32 idValue);
[OperationContract()]
Type2 Save(Type2 type2, System.Int32 changeUser);
}
}
Namespace Company. ContractFulfillment {
public class Type1Services : IType1Services
{
public MyType1 GetType1(System.Int32 idValue)
{
return new Type1();
}
}
public class Type2Services : IType2Services
{
public Type2 GetType2(System.Int32 idValue)
{
return new Type2();
}
}
}
Wenn ich den obigen Code als WCF-Dienst verfügbar mache, ist BizTalk nicht in der Lage, zwischen Type1.Save() und Type2.Save() zu unterscheiden. Gibt es einen Weg, den Service nicht zu modifizieren, weil der Service Teil eines Frameworks ist und mehr Änderungen an anderen abhängigen Orten erfordert?
Für andere Clients als BizTalk ist die Servicezugriffsebene in die Typbibliothek (type1, typ2 usw.) eingeschlossen, und Clients greifen auf diese Typbibliothek als normale Klassenbibliothek zu.
Können Sie genauer angeben, was Sie meinen, wenn Sie sagen: "BizTalk kann nicht zwischen Type1.Save() und Type2.Save()" unterscheiden? Was passiert auch, wenn Sie versuchen, es mit einem WCF-Client ("Add Service Reference") zu verwenden? –