博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Webservice、缓存、Ajax总结
阅读量:6847 次
发布时间:2019-06-26

本文共 5113 字,大约阅读时间需要 17 分钟。

第一章:Web Service 基础1.Web Service 是可互操作的分布式应用程序。它以SOAP作为基本通信协议,使用HTTP和XML进行可以穿越防火墙的自由通信.2.Web Service 优点:    (1).可以实现不同应用程序和在不同的系统平台上开发出来的应用程序之间相互通信。    (2).Web Service 具有普遍性,它使用HTTP和XML进行通信。    (3).Web Service 甚至可以穿越防火墙,真正实现自由通信。    (4).通过SOAP实现异地调用。3.什么是SOAP?    SOAP 是 Web Service 的基本通信协议。它是在分散或分布式的环境中交换信息的,它是基于 XML 的协议。通过SOAP协议可以实现不同项目、不同站点、甚至异地的调用。4.创建Web Service     右键添加新项------> Web 服务(MyBankService.asmx)--------->修改App_Code 文件夹下的 MyBankService.cs 添加自己所需的方法    注意:方法上面有[WebMethod]的是Web方法,一个[WebMethod]只能对它下面的一个方法有效。5.调用Web Service    1.项目右键------->添加 Web 引用    2.在"URL"出填写要发布或是要调用的Web Service网址,单击前往按钮,就会看到一些方法名的链接       将右侧的"Web 引用名"改为MyBank(默认为localhost),“Web 引用名”是我们调用Web Service方法时用到。       如果不改名,则实例化Web Service时为localhost.MyBankService service=new localhost.MyBankService();       改名为MyBank后MyBank.MyBankService service=new MyBank.MyBankService();    3.代码中调用       MyBank.MyBankService service=new MyBank.MyBankService();       MyBank.PayResults result=service.Pay(user.Id,user.Password,int.Parse(txtSalary.Text));第二章:使用AJAX改善用户体验(无刷新技术)1.ASP.NET AJAX 核心组件:ScriptManager、UpdatePanel、UpdateProgress、Timer、ScriptManagerProxy  ● ScriptManager:全局脚本控制器。在每个AJAX程序中都必须有一个,并且只能有一个,相当于在这个页面上注册框架  ● UpdatePanel:更新面板。用来实现页面的无刷新效果    示例1:点击按钮实现无刷新显示当前时间     
后台代码: protected void btnTime_Click(object sender,EventArgs e) { lbltime.Text=DateTime.Now().ToString(); } 示例2:和示例1一样效果
● UpdateProgress:提示操作进度 示例:
正在加载数据,请稍候。。。
● Timer:用于间隔一定的时间自动刷新页面或完成特定的任务。 示例:
.........
后台代码: protected void Timer1_Tick(object sender,EventArgs e) { ............. gvGoldsInfo.DataSource=ds; gvGoldsInfo.DataBind(); } 扩展控件: AutoComplete:智能自动提示功能 示例:
书名:
注意:1.在使用了AJAX的页面中要调用Web Service,在Web Service的中要添加 [System.Web.Script.Services.ScriptService()] 特性 2.要调用的Web Service方法的两个参数名称和类型是固定的,返回类型必须是string[] 一个Web Service类 /// /// SearchHotBook 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService()] public class SearchHotBook : System.Web.Services.WebService { public SearchHotBook() { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string[] GetHotSearchByKeywords(string prefixText,int count) { return SearchKeywordManager.GetHotSearchKeywords(prefixText,count); } } 2.在使用了AJAX的页面中要提示信息要用ScriptManager.RegisterStartupScript(....);第三章:扩展控件介绍1.Accordion:用来实现菜单折叠效果(p56) CollapsiblePanel:单个Panel的隐藏和显示(p63) Rating:等级评价(p67) Calendar:日历控件(p70) 不好用 ModalPopup:模式弹出窗口(p71) Tabs:选项卡控件(p76)第四张:缓存1.缓存技术的原理是把访问频繁的数据以及需要大量处理时间来创建的数据存储在内存中 2.优点:使用缓存技术,可以大大提高程序的性能 缺点:(1).数据过期问题 (2).占用内存(服务器资源)3.几种缓存技术: 整页缓存、页面部分缓存、应用程序缓存 ● 整页缓存:<%@ OutputCache Duration="120" VaryByParam="Id;name" %> 在页面第二行添加 那么以Id或name作为参数传递的页面都将被缓存120秒 当我们需要缓存的数据随页面上某控件值的改变而改变时,可以使用VaryByControl属性 <%@ OutputCache Duration="120" VaryByParam="Id;name" VaryByControl="ddlCategories"%> ● 页面部分缓存:替换页面需要更新的部分
protected static string GetNum(HttpContext context) { DataTable dt=GetTicketsDataTable("3"); return dt.Rows[0]["num"].toString(); } 注意:Substitution控件MethodName属性调用的方法必须满足3个条件 (1).必须是静态方法。 (2).返回类型必须是string型。 (3).参数类型必须是HttpContext ● 应用程序缓存 示例: public class MyBook { const string BOOKS_KEY = "books"; public static List
GetAllBooks1() { if (HttpRuntime.Cache[BOOKS_KEY] == null) { List
list = BookManager.GetAllBooks() as List
; HttpRuntime.Cache.Add(BOOKS_KEY, list, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High, null); return list; } else { return HttpRuntime.Cache[BOOKS_KEY] as List
; } } } 移除应用程序缓存:Cache.Remove("test1");第五章:单元测试

转载地址:http://mzoul.baihongyu.com/

你可能感兴趣的文章
重读金典------高质量C编程指南(林锐)-------第四章 表达式和基本语句
查看>>
45、文件过滤器FilenameFilter
查看>>
Autofac与AOP功能例子
查看>>
MyBatis学习总结(六)——调用存储过程
查看>>
获取jqGrid中选择的行的数据
查看>>
关于调用存储过程获取参数返回值和输出参数注意的问题
查看>>
Meanshift filter实现简单图片的卡通化效果
查看>>
坚持来记录北京生活
查看>>
[leetcode-448-Find All Numbers Disappeared in an Array]
查看>>
自适应布局
查看>>
idea新建maven项目
查看>>
UVA 136 Ugly Numbers
查看>>
Centos7系统详细的启动流程
查看>>
Elemet-技巧
查看>>
ILSpy c#反编译工具,附下载地址
查看>>
IOS的自定义控件
查看>>
JDK动态代理原理
查看>>
使用Docker-Docker for Web Developers(2)
查看>>
Digest Authentication 摘要认证
查看>>
课堂练习——查找水王续
查看>>