Web Services使用多态的方法有哪些
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下Web Services使用多态的方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在Web Services方法中,往往使用的都是一个具体类型的参数,这个参
千家信息网最后更新 2025年02月23日Web Services使用多态的方法有哪些
小编给大家分享一下Web Services使用多态的方法有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在Web Services方法中,往往使用的都是一个具体类型的参数,这个参数一般就是一个数据对象。ASP.NET Web Services通过声明XmlIncludeAttribute可以实现Web Services方法中运用多态。
XmlIncludeAttribute允许XmlSerializer在序列化火反序列化对象时识别类型。当应用XmlIncludeAttribute时,需指定派生类的Type。XmlSerializer序列化同时包含基类和派生类的对象之后,它就可以识别两种对象类型。
首先定义基类Vehicle和派生类Car:
public abstract class Vehicle { public string LicenseNumber{get;set;} public DateTime MakeTime { get; set; } } public class Car : Vehicle { public int DoorNum { get; set; } }
定义AddVehicle的Web Method,声明XmlInclude需要添加对命名空间System.Xml.Serialization的引用:
[WebMethod] [XmlInclude(typeof(Car))] public void AddVehicle(Vehicle vehicle) { }
查看生成的wsdl,wsdl利用extension的base属性来描述Car继承Vechicle。
查看引用Web Services生成的Reference.cs文件,Vehicle类会有XmlIncludeAttribute的声明:
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Car))] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")] public abstract partial class Vehicle : object
客户端测试代码:
static void Main(string[] args) { localhost.WebService1SoapClient c = new localhost.WebService1SoapClient(); localhost.Car car = new localhost.Car() { LicenseNumber="0001", MakeTime=DateTime.Now, DoorNum=2 c.AddVehicle(car); }
在Web Services的AddVehicle方法可以查看传过来的参数:
Web Services可以支持多态,不过仅仅限制在可以直接引用Web Services的时候有生成可序列化的代码时能够使用,要在其他的客户端使用还是得费一番周折。
看完了这篇文章,相信你对"Web Services使用多态的方法有哪些"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
方法
多态
对象
序列
参数
类型
生成
代码
客户
客户端
篇文章
同时
周折
完了
就是
属性
数据
文件
时候
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天台直销软件开发执行标准
网络安全专题讲座开头
数据库建表时不打null
软件开发过程的设计过程
数据库错误918
网络安全 pdf
网络安全法中与中央政府相
2g网络安全方面问题
软件开发公司薪资架构
hp服务器代码查询
dns服务器占用率高是咋回事
java软件开发笔试题库
网络安全法的确立
就业网络安全工程师
贴吧保存图片没有数据库
网络安全管理方案书籍
无法连接服务器是怎么回事lol
互联网科技风暴眼
日常网络安全监测报告
杭州珍林网络技术
网络打印服务器安全吗
网络安全基础谁写的
网络安全管理制度范本
网络安全活动发言
小学网络安全组织机构
广西华为服务器价格
创建域名服务器
到无锡找软件开发工作
江西iosapp软件开发
上海志行合力网络技术怎么样