c#-为什么WCF与ASMX的工作方式不同?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-为什么WCF与ASMX的工作方式不同?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1954字,纯文字阅读大概需要3分钟。
内容图文
![c#-为什么WCF与ASMX的工作方式不同?](/upload/InfoBanner/zyjiaocheng/674/3cc28416bd7a431db4d17a80f44ee9c6.jpg)
不知道我在做什么错,但是我有两个服务,一个是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 array of doubles not called successfully
这提供了修复程序,但没有解释为什么它不能以相同的方式运行.或者,如果有一种方法可以使其发挥相同的作用.这让我觉得自己根本上缺少什么?
编辑
附言,这些只是在本地运行.
解决方法:
SOAP或WSDL标准中没有任何东西指定List< double>之类的东西.应该被序列化. ASMX显然在XML模式中发明了complexType来表示double数组.
WCF比ASMX更好.使用“添加服务参考”时,您将决定如何处理重复元素,例如双精度数组.您可以选择将它们视为数组,List< T>等.
将WCF限制为ASMX(这是一项旧技术)的局限性将具有负面价值.
内容总结
以上是互联网集市为您收集整理的c#-为什么WCF与ASMX的工作方式不同?全部内容,希望文章能够帮你解决c#-为什么WCF与ASMX的工作方式不同?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。