zoukankan      html  css  js  c++  java
  • 一步步学习微软InfoPath2010和SP2010--第十二章节--管理和监控InfoPath Form Services(IPFS)(5)--最小化Postbacks来最大化性能

            除了表单产生的HTML整体大小外,影响IPFS表现最常见的潜在因素可能是postbacks。一些表单控件、操作和功能要求用户的浏览器在填表过程中与服务器交流。数据交流被称为postback。并且它经常发生(当表单需要从用户的浏览器发送数据到服务器来处理,然后必须等待响应来更新并重新布局表单时)。这使得postbacks成为代价较高的绩效难题,因为每次表单postbacks发生时,它们迅速增加了请求网络的通信量。

            注意:Postbacks只与浏览器表单相关,因为HTTP交流的无状态性。使用InfoPath Filler客户端时没有postback问题,因为InfoPath Windows客户端需要和服务器交流比同样的IPFS表单少得多。InfoPath客户端做了许多IPFS表单需要服务器做的事情,因此减少了网络交流。

            因为IPFS表单如此依赖于服务器,postbacks有时不可避免。幸运的是,对于拥有最小化它们的知识和技术的表单设计者来说,这些问题可以缓解。有时,创建性能差的表单和好的表单之间差别不是消除postbacks,而是通过考虑到如果表单用户界面没有考虑性能而被创建时postbacks带来的问题,最小化它们。当涉及浏览器表单时,大多空间在控件属性上有个选项(回发设置)。这可能是少见的例外,通常,最佳实践是保留这个选项为默认设置。


            知道postbacks的知识----为什么会发生和如何监控表单辨别潜在问题----你可以设计表单最小化postbacks,通常不会丢失重要的功能。

            最常一起postbacks的情形有:

    1.      数据连接

            数据连接功能是创建查询连接到外部数据源----如XML文件、数据库、SharePoint列表或web service----这样表单可以抽取来自数据源的数据并更新。当数据连接被表单中事件激活时,如按钮点击规则,表单被要求和服务器交流来获取数据,从而产生了postbacks。

    2.      计算

            计算可能引起postbacks,因为计算经常需要服务器处理。

    3.      切换视图

            使用多个视图常被认为是改善InfoPath表单可用性和性能的最佳实践。通过仔细分组相关项目、限制每个视图中控件数目,而不是在单个视图中放置所有东西,你可以改善表单加载性能。所以最佳实践原则表明,视图是有用的,作为设计者的你应该明白每次切换视图时,一个postback发送用户信息到服务器,抽取新的视图,然后再浏览器中重载。

            小贴士:如果你向监控切换视图postbacks,你可以发布第五章节“添加逻辑和规则到表单”的Blue Yonder Records Management Request form。使用Fiddler监控表单加载过程,然后看在表单中切换视图时发生了什么。注意每个视图切换是一个HTTP事件,本质上和重载完整表单相同。

    4.      多个绑定事件

            像插入或移除“重复表”和“重复或可选节”这样的事件也会引起postbacks。

            小贴士:可选节postback类型的例子,你可以发布第三章节“表单设计基础:使用InfoPath布局、控件和视图”的Flight Delay表单。确保使用Fiddler捕获信息量。打开新表单实例,在Choice节,从超链切换到文件附件。


            当在Flight Delay表单中做出选择时,如果你在Fiddler中查看活动,你将发现一个和下面图示相似的postback事件,由选项组中不同选项的选择而触发。


  • 相关阅读:
    BZOJ_3589_动态树_容斥原理+树链剖分
    吴裕雄--天生自然ORACLE数据库学习笔记:SQL语言基础
    吴裕雄--天生自然ORACLE数据库学习笔记:常用SQL*Plus命令
    吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB
    吴裕雄--天生自然PYTHON爬虫:使用Selenium爬取大型电商网站数据
    吴裕雄--天生自然PYTHON爬虫:使用Scrapy抓取股票行情
    吴裕雄--天生自然PYTHON爬虫:爬取某一大型电商网站的商品数据(效率优化以及代码容错处理)
    吴裕雄--天生自然PYTHON爬虫:爬取某一大型电商网站的商品数据(优化)
    吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:从零开始实现识别手写数字的神经网络
    吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:神经网络的理论基础
  • 原文地址:https://www.cnblogs.com/crazygolf/p/3856883.html
Copyright © 2011-2022 走看看