ServiceContract的思考
在书中只看到关于DataContract的版本化问题,及其解决的办法但没有看到关于OperationContract的版本化问题,这里我进行一下测试;
如果客户端的接口中缺少关于一个方法的定义,则不会出现问题,正常运行。
如果客户端多一个接口调用时将会引发:System.ServiceModel.ActionNotSupportedException异常。
如果客户端与服务器传送的参数类型不相同,但如果类型能够进行安全转换,则可以正常访问,这里的类型安全转换不包括:double->int这种,但支持int->double这种。如果不能够进行类型安全转换则引发异常:System.ServiceModel.FaultException异常;
如果客户端调用方法的参数多于服务端则不发生问题,如果少于服务端则使用默认值,这里我只进行了int类型的测试,如果少一个参数int类型将会设置为0.