Websevice否可以有带参数的构造函数
发布时间:2020-12-17 02:42:18 所属栏目:安全 来源:网络整理
导读:仔细分析webervice的机制就能发现其实这个是必须的: 在.net当中webservice客户端只是在本地生成了一个代理类,这个代理类封装并维护与服务器端的通信。当你在本地创建一个webservice类实例的时候,创建的其实是本地的代理类的实例,这个时候并没有跟服务器
仔细分析webervice的机制就能发现其实这个是必须的: 在.net当中webservice客户端只是在本地生成了一个代理类,这个代理类封装并维护与服务器端的通信。当你在本地创建一个webservice类实例的时候,创建的其实是本地的代理类的实例,这个时候并没有跟服务器端进行通信,无法将参数传送到服务器端,并且只有你在真正调用web service方法的时候,才与服务器端进行了通信。 测试验证结果: 编写一个客户端和服务器端,将断点设置在客户端创建服务实例的地方,启用fildder,跟踪http,你可以发现,当执行完创建webservice实例的时候,fildder没有跟踪到通信,当代码运行到调用服务器端方法的时候,可以发现已经发送了一个soap请求过去了,并有xml的响应回来。结论:在.net中,当在本地创建web service实例的时候是没有与服务器端进行通信的,也就没有办法传递参数给服务器端,只有当真正调用webservice方法的时候才与服务器端进行通信,所以webservice是无法使用带参数的构造函数的。 不过有个变通的方法,那就是用一个web方法执行你想传递参数的代码就可以,也就是一个假的带参数构造函数。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在JAX-WS 中实现多个Service间会话保持
- angularjs – Angular2:以编程方式创建子组件
- 序列化 – 为什么使用Scala RemoteActors设置类加载器?
- 窥视Scala Actor的邮箱的最佳方法
- bash – 从管道读取的while读取循环后变量重置
- angularjs – 如何在每5个元素之后在ng-repeat angular-js中
- Bootstrap下拉菜单更改为悬停(hover)触发的方法
- vim – 删除到行尾(不包括当前字母)
- twitter-bootstrap-3 – Bootstrap 3 – 集合箱宽度为940px
- Scala中的Tilde在Scalatra示例代码中找到