English Version: http://dflying.dflying.net/1/archive/107_prefer_web_services_to_page_methods_in_atlas_server_side_implementation.html

我们可以用两种方式把一个服务器段方法暴露给客户端Atlas调用:Web Service和Page Method。我推荐使用Web Service的方法。

所有人都应该非常重视的一点是Web Service和Page Method的工作原理以及工作过程有很大的分别。对于Atlas调用Web Service来说,当请求被发送时候,仅仅简单传给服务器方法的参数数据。而对于Atlas调用Page Method来说,传输的数据将会很多,将把表单中所有的域,包括ViewState,一起传送到服务器。在服务器端,它的工作方式也和普通的PostBack很相似:在这个Page Method被调用前,所有的服务器控件将得到它自身的状态。这也正是为什么Page Method中可以访问页面中控件状态的原因。

因此我的建议是只要在确实需要使用Page Method的时候(比如说需要在Page Method中访问页面中的控件状态)才使用Page Method,否则尽可能多地使用Web Service,这样可以使程序在性能上有所提高。使用Web Service的另一个好处是让程序层次架构明晰。

您可以在http://www.fiddlertool.com/fiddler/下载Fiddler,一个很好的HTTP watcher和debugger,用来监视客户端与服务器的实际HTTP通信内容。

这里是一段Web Method,只是简单的返回服务器的当前时间。

[WebMethod]
public DateTime GetCurrentDateTime()
{
    return DateTime.Now;
}

让我们分别以Web Service和Page Method运行这一段Web Method,并用Fiddler观察实际运行时的HTTP通信内容:

Web Service

Page Method

可以看到以Web Service方式运行时Post回服务器的Content-Length为0,而以Page Method运行时候为1718。

转载于:https://www.cnblogs.com/dflying/archive/2006/04/03/365859.html

在Atlas服务器端实现中推荐使用Web Service而不是Page Method相关推荐

  1. 在IE中测试调用Web Service

    使用.NET 开发Web Service,有一个很方便的功能就是可以通过IE直接测试Web Service.当你的Web Service的参数都是元数据类型,那么只要你使用IE浏览Web Servic ...

  2. BASISI系统中如何配置web service

    在不同的客户端,需要对该客户端进行配置才能运行Web Service 1. 配置服务器 使之能解析Xml文件(这个只需要配置一次,以后就不需要配置了), T-code: SICF 分别激活下面几个路径 ...

  3. .NET应用程序中异步调用Web Service的几种方法 come from: veryhappy(wx.net)

    测试程序界面 图一,调用前界面 图二,调用后界面 详细代码实现 闲言少叙,直接进入主题吧.首先一个声明一个类(将来在客户端与服务器间传递): public class Class1     {     ...

  4. java restful文件传输_java中使用restful web service来传输文件

    [1]上传大文件: 前端页面: 1)同步上传: 2)异步上传: 异步上传文件 上传文件: function doUpload() { // var formData = new FormData($( ...

  5. Web站点下的Web Service读取此Web站点中的Session值

    在用Ajax:AutoCompleteExtender控件时,碰到自动完成的数据没办法按当前登录用户过滤权限的问题,主要是因为AutoComplete.asmx中自动完成的Method参数是固定的,不 ...

  6. Android 项目开发 基于Web Service 服务的中英翻译软件(三) Web Service服务 Ksoap2 项目...

    关于Web Service Android 应用通常是运行手机平台上,手机系统的硬件资源远远比不上PC平台,不管是存储能力还是计算能力,在Android平台上运行一些小的应用时可能的,但对于需要进行大 ...

  7. [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端

    [图解教程]Axis2与Eclipse整合开发Web Service之二:WSDL逆向生成服务端 一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端.看过一本SOA的书中 ...

  8. web service 基础学习

    什么是Web Service? 字串3 Web Service是构建互联网分布式系统的基本部件.Web Services 正成为企业应用集成(Enterprise Application Integr ...

  9. 使用XFire+Spring构建Web Service(一)——helloWorld篇

    来源:http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html XFire 是与Axis 2并列的新一代Web Service框架 ...

最新文章

  1. 进击时代!王雪红的谦卑与坚守
  2. oracle full outer join,oracle 内连接(inner join)、外连接(outer join)、全连接(full join)...
  3. docker 安装git_docker随手笔记第十二节 jenkins+docker+nginx+纯静态页面配置
  4. Android应用开发:CardView的使用及兼容
  5. Git常用命令——远程操作
  6. 某程序员10个月时间做了30个私活单子,纯收入40万?
  7. eslint 验证vue文件 报错 unexpected token =解决方法
  8. Element Form表单布局(一行多列)
  9. Mac Excel 次坐标轴/双坐标轴/柱状图+折线图
  10. linux命令 - tail:查看文件最后几行的命令
  11. speedoffice表格如何快速复制整张工作表
  12. 高德SDK 小车轨迹回放,速度、进度控制
  13. 释放英特尔锐炫™显卡潜能:性能升级、定价更新
  14. GoogleCode新手教程
  15. 使用Windows Server 2003轻松建立森林间信任
  16. h20r1203功率管参数_电磁炉功率管H20R1203用什么代换
  17. Windows7中随意排列图标(自动排列,对齐到网络)
  18. android虹软人脸识别简书,Android 用虹软SDK做人脸识别
  19. linux双拼输入法,百度输入法Linux版下载:支持在Ubuntu下用全拼、双拼、五笔
  20. 《中国贫富标准线》【看看自己是哪一档】

热门文章

  1. 降级安装_如何升级iOS13测试版,还有降级
  2. Pycharm Anaconda 安装dlib
  3. Django(三)框架之第二篇
  4. 跨域/非跨域接口专题
  5. 你不知道的JS5-原型
  6. 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式
  7. codeforces 337D Book of Evil(dp)
  8. 查看修改MySQL字符集
  9. 深入探讨用位掩码代替分支(3):VC6速度测试
  10. C++内存管理——指针数组