Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单个ServiceContract中同名OperationContract的不同命名参数?_C#_Wcf_Service - Fatal编程技术网

C# 单个ServiceContract中同名OperationContract的不同命名参数?

C# 单个ServiceContract中同名OperationContract的不同命名参数?,c#,wcf,service,C#,Wcf,Service,我需要稍微修改我的WCF服务中的一个操作合同 我已经做过的(只是一个简单的例子) 但是我需要一个单独的例子,将一个参数名更改为另一个参数名,这样整个接口除了那个单独的更改外看起来都一样 [ServiceContract] public interface IWCF { [OperationContract] void GetMessage(string a, string THIS_NAME_HAS_CHANGED, string c); [OperationContract] void Ge

我需要稍微修改我的WCF服务中的一个操作合同

我已经做过的(只是一个简单的例子)

但是我需要一个单独的例子,将一个参数名更改为另一个参数名,这样整个接口除了那个单独的更改外看起来都一样

[ServiceContract]
public interface IWCF
{
[OperationContract]
void GetMessage(string a, string THIS_NAME_HAS_CHANGED, string c);

[OperationContract]
void GetData(string a, string b, string c);
}

这是因为我的一个端点将只接受旧名称,而所有其他端点将接受新名称。我希望将此作为我的应用程序模块的一部分来完成,但在找到解决方案后,我将自己处理此问题,因此无需在此处发布该部分代码。

让您的服务实现/公开两个接口(当然命名不同,以满足C语言规则;可能使用
[ServiceContract(Name=”“)]
向外部公开不同的名称):具有旧参数名称的名称和具有新参数名称的名称。绑定两个不同的端点。给“旧客户端”一个端点,给其他端点另一个端点。问题是我不能向外部公开不同的名称。在这两种情况下,名称必须相同,唯一可以而且必须更改的是该精确公开的OperationContract中的参数名称。另一端的ServiceDefinition必须保持不变,并且在更改之前符合此\u NAME \u HAS \u CHANGED参数。它无法升级。
[ServiceContract]
public interface IWCF
{
[OperationContract]
void GetMessage(string a, string THIS_NAME_HAS_CHANGED, string c);

[OperationContract]
void GetData(string a, string b, string c);
}