我不确定自己做错了什么,但我有两个服务,一个是WCF,另一个是ASMX服务。
我正在尝试以与我的asmx版本相同的方式调用double数组。
这是两个服务的图片:
我已经找到了解决方法,可以调用该方法,但我想知道为什么ArrayOfDouble
在我的serviceref2中没有像在我的serviceref1中那样显示?
这是WCF版本:
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface SumListWCF
{
[OperationContract]
string CalculateSum(List<double> listDouble);
}
}
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class SumList : SumListWCF
{
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
}
}
}
这是ASMX版本:
namespace CalculateWebServiceSum
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class SumList : System.Web.Services.WebService
{
[WebMethod]
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
//return listDouble.Select(n => (double)n).ToString();
}
}
}
上一篇文章在这里:WCF数组不成功地调用双倍
这提供了解决方案,但并没有解释为什么它不能以相同的方式运行。或者是否有一种方法让它表现得相同。这让我觉得我基本上缺少了某些东西?
编辑
顺便说一下,这些都在本地运行。