gpt4 book ai didi

c# - 如何在一个 WCF 请求中发送多个返回值?

转载 作者:行者123 更新时间:2023-11-30 13:47:55 25 4
gpt4 key购买 nike

这就是 WCF 服务,我想同时从用户那里获取 5 个值,并向他们发送前两个值相加的响应作为 AddedResult,相加结果相减,第三个值作为 SubtractedResult,SubtractedResult 与第四个值相乘作为 MultipliedResult 和 multipliedResult 的除法和第 5 个值作为 DividedResult。

我知道这看起来很荒谬,但我正在尝试对这些进行一些高级测试,但我是 WCF 的新手,我们将不胜感激任何可以提供帮助的人。

public interface IService1
{

[OperationContract]
string GetValuesForCalculation(int value1, int value2, int value3, int value4, int value5);


// TODO: Add your service operations here
}


public class Service1 : IService1
{

public int GetValuesForCalculation(int value1, int value2, int value3, int value4, int value5)
{
int AddedResult;
int SubtractedResult;
int MultipliedResult;
int DividedResult;

AddedResult = (value1 + value2);
SubtractedResult = (AddedResult - value3);
MultipliedResult = (SubtractedResult - value4);
DividedResult =(MultipliedResult/value5);

return AddedResult;
return SubtractedResult;
return MultipliedResult;
return DividedResult;
}


}

如何同时返回 4 个值?

最佳答案

您需要创建一个DataContract 并返回该对象。

[ServiceContract()]
interface IService1
{
[OperationContract]
ReturnValue GetValuesForCalculation(int value1, int value2, int value3, int value4, int value5);
}


public class Service1 : IService1
{
public ReturnValue GetValuesForCalculation(int value1, int value2, int value3, int value4, int value5)
{
int AddedResult;
int SubtractedResult;
int MultipliedResult;
int DividedResult;

AddedResult = (value1 + value2);
SubtractedResult = (AddedResult - value3);
MultipliedResult = (SubtractedResult - value4);
DividedResult =(MultipliedResult/value5);

var returnValue = new ReturnValue(AddedResult, SubtractedResult, MultipliedResult,DividedResult);

return returnValue ;
}
}

[DataContract]
public class ReturnValue
{
public ReturnValue(int addedResult, int subtractedResult, int multipliedResult, int dividedResult)
{
AddedResult = addedResult;
SubtractedResult = subtractedResult;
MultipliedResult = multipliedResult;
DividedResult = dividedResult;
}

[DataMember]
public int AddedResult {get; set;}

[DataMember]
public int SubtractedResult {get; set;}

[DataMember]
public int MultipliedResult {get; set;}

[DataMember]
public int DividedResult {get; set;}
}

在您的客户端,ReturnValue 类将由生成您的客户端代理的相同代码自动生成(无论是内置于 visual studio 的工具还是 svcutil.exe)

这是 MSDN PageDataContracts 上。

关于c# - 如何在一个 WCF 请求中发送多个返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com