客户端代理浅析
摘要:客户端代理浅析 •每个Service类对应客户端一个代理类 •每个代理类为Sys.Net.WebServiceProxy类的子类 •代理类的每个方法均对应一个类的静态方法 •最终由Sys.Net.WebServiceProxy.invoke方法发出请求 aspx 没有将ScriptMan...
阅读全文
posted @
2008-04-30 23:59
一粒沙
阅读(319)
推荐(0)
安全性
摘要:•完全适用ASP.NET的认证机制 –可以使用FormsAuthentication •WebService方法可以操作Cookie –Impersonation –PrincipalPermission aspx ...
阅读全文
posted @
2008-04-30 23:52
一粒沙
阅读(357)
推荐(0)
在方法中使用Session
摘要:•ASP.NET中每个请求都由一个IHttpHandler对象来处理 •在处理时要使用Session则需要让Handler对象实现IRequiresSessionState接口 •RestHandlerFactory根据所请求的方法的标记来选择是否启用Session •启用方法:在WebMethodAttribute中标记 –EnableSession属性设为true aspx ...
阅读全文
posted @
2008-04-30 23:48
一粒沙
阅读(340)
推荐(0)
让方法返回XML对象
摘要:•默认以JSON格式返回数据 •使用ScriptMethodAttribute进行标记 –ResponseFormat属性设为Xml –Response的Content-Type将为text/xml •可以使用字符串拼接出XML并输出 •可以返回Xml相关类型 –XmlDocument、XmlElement •返回普通对象时将使用XmlSerializer输出 –可以使用.NET中强大的XML序列...
阅读全文
posted @
2008-04-30 23:45
一粒沙
阅读(643)
推荐(0)
使用HTTP GET访问方法
摘要:•使用ScriptMethodAttribute进行标记 –UseHttpGet属性设为true •客户端使用代理的方法没有任何变化 •参数将使用QueryString进行传递 •性能较HTTPPOST方法略有提高 •一些特性略有改变 –缓存的基础 aspx ...
阅读全文
posted @
2008-04-30 23:42
一粒沙
阅读(1916)
推荐(0)
改变客户端访问时的方法名
摘要:•客户端无法重载方法(overload) –可以通过判断arguments数量来模拟重载 •如果服务器端出现了方法重载? –使用WebServiceAttribute指定客户端方法名 –使用和真正的WebService相同的做法 –[WebMethod(MessageName = “…")] •并非出现重载时才能改变方法名称 aspx ...
阅读全文
posted @
2008-04-30 23:31
一粒沙
阅读(193)
推荐(0)
序列化与反序列化能力
摘要:序列化与反序列化能力 •JavaScriptConverter:自定义序列化与反序列化能力 •JavaScriptTypeResolver:建立数据类型与标识符的映射 •不是真正的JSON序列化 –时间日期对象 –Sys.Serialization.JavaScriptSerializer aspx u...
阅读全文
posted @
2008-04-27 15:20
一粒沙
阅读(265)
推荐(0)
使用自定义JavaScriptConverter返回自定义的复杂类型
摘要:自定义JavaScriptConverter •用于处理复杂类型 –处理循环引用 –简化默认的复杂序列化和反序列化行为 •定义并使用一个JavaScriptConverter –定义一个Converter继承JavaScriptConverter类 –实现SupportedTypes –实现Serialize方法用于序列化复杂数据 –实现Deserialize方法用于反序列化复杂数据 –在web....
阅读全文
posted @
2008-04-27 15:12
一粒沙
阅读(458)
推荐(0)
使用JavaScriptConverter实现返回DataTable对象
摘要:使用JavaScriptConverter •复杂类型作为返回值时可能会出现问题 –循环引用 •解决方案 –使用自定义数据类型封装复杂类型 –在web.config里定义Converter aspx ...
阅读全文
posted @
2008-04-27 15:07
一粒沙
阅读(962)
推荐(0)
客户端代理的作用
摘要:客户端代理的作用 •在对象里做了一个标记 –“__type” = “ComplexType.Color” •服务器端根据标记选择反序列化的目标类型 •可出现“多态”效果 aspx Years: ...
阅读全文
posted @
2008-04-27 14:52
一粒沙
阅读(499)
推荐(0)
生成复杂参数类型的客户端代理
摘要:生成复杂参数类型的客户端代理 •使用GenerateScriptTypeAttribute标记要生成代理的参数类型 •可以标记在类、接口以及方法上 •生成的代理中将包括客户端类型的代理 •调用方法时可以创建“具体类型” –new [Namespaces].ClassName() –没有其他构造方法(构造函数) aspx ...
阅读全文
posted @
2008-04-27 14:27
一粒沙
阅读(313)
推荐(0)
复杂参数的基本使用方式
摘要:复杂参数的基本使用方式 •作为参数的类型一定要有默认的构造函数 –编译器自动生成默认的构造函数 –手动编写默认的构造函数 •客户端设置类型共有的域变量及属性 –设置的属性必须有Setter方法 •使用JSON进行传输格式 •自动进行序列化与反序列化 aspx ...
阅读全文
posted @
2008-04-27 14:20
一粒沙
阅读(317)
推荐(0)
如何调试javaScript
摘要:1.IE选项——>高级——〉“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(其他)”复选框去掉 2.关闭IE,重新打开要调试javaScript的页面,“浏览”菜单——〉“脚本调试程序”打开 3.在弹出的对话框中选择一个调试器 4.在调试器中设置断点 5.回到页面运行javaScript(如点击按钮等以调用要调试的javaScript)
阅读全文
posted @
2008-04-27 14:08
一粒沙
阅读(1234)
推荐(0)
客户端代理使用细节
摘要:客户端代理使用细节 •函数调用完整签名 –Invoke(arg1, …, argN, onSucceeded, onFailed, userContext) •回调函数完整签名 –onSucceeded(result, userContext, methodName) –onFailed(error, userContext, methodName) •WebService级别默认属性 –time...
阅读全文
posted @
2008-04-27 10:24
一粒沙
阅读(215)
推荐(0)
复杂数据类型使用基础
摘要:复杂数据类型使用基础 •公有属性或公有Field会被释放和接受 •容器对象 –实现IList接口的对象 –实现IDictionary接口的对象 •Key必须是String aspx ...
阅读全文
posted @
2008-04-27 10:17
一粒沙
阅读(271)
推荐(0)
WebService客户端调用错误处理
摘要:错误处理 •调用时可以提供一个额外的错误回调函数 •包括超时和服务器端抛出的异常 •超时只能设置在WebService级别 –或者设置在PageMethods对象上 –无法在每个MethodCall时指定 •Sys.Net.WebServiceError –timedout、message、exceptionType、stackTrace属性 aspx ...
阅读全文
posted @
2008-04-27 10:04
一粒沙
阅读(1576)
推荐(0)
客户端访问PageMethod
摘要:•服务器端 –只能在aspx页面中定义 –只能是公开静态方法 –使用WebMethodAttribute标记 –ScriptManager的EnablePageMethods属性设为true •客户端 –通过PageMethods.MethodName访问 aspx cs protec...
阅读全文
posted @
2008-04-27 10:01
一粒沙
阅读(430)
推荐(0)
客户端访问WebService
摘要:服务器端释放WebService方法 •编写一个普通的ASP.NET WebService •为WebService类添加自定义属性标记 –ScriptServiceAttribute •释放WebService方法 –访问级别为public –使用WebMethodAttribute进行标记 •为页面中的ScriptManager(Proxy)引入asmx文件 客户端访问WebService ...
阅读全文
posted @
2008-04-27 09:59
一粒沙
阅读(444)
推荐(0)
前面PRM实例所使用到的MasterPage
摘要:Site.master Untitled Page Site.master.cs using System; using System.Data; using System.Configuration...
阅读全文
posted @
2008-04-24 20:06
一粒沙
阅读(244)
推荐(0)
客户端入手分析异步更新机制
摘要:aspx Async Postback LinkButton ...
阅读全文
posted @
2008-04-24 20:04
一粒沙
阅读(245)
推荐(0)
PRM–endRequest事件
摘要:PRM–endRequest事件 •参数类型:EndRequestEventArgs –dataItems属性:获得服务器端注册的数据项 –error属性:获得异步刷新时获得的错误 –errorHandled属性:表明错误是否已被处理了 –response属性:获得这次请求获得的结果对象 •常用操作: –处理异步刷新结果(异常、超时、取消, etc.) –获得请求结果中额外的信息 –(能够)获得服...
阅读全文
posted @
2008-04-24 19:56
一粒沙
阅读(403)
推荐(0)
PRM–pageLoaded事件
摘要:PRM–pageLoaded事件 •参数类型:PageLoadedEventArgs –dataItems属性:获得服务器端注册的数据项 –panelsCreated属性:获得新建的UpdatePanel –panelsUpdated属性:获得已经更新的UpdatePanel •常用操作: –(能够)获得服务器端注册的数据项 –(能够)执行服务器端注册的脚本 局部内容添加 Comme...
阅读全文
posted @
2008-04-24 19:53
一粒沙
阅读(485)
推荐(0)
PRM–pageLoading事件
摘要:PRM–pageLoading事件 •参数类型:PageLoadingEventArgs –dataItems属性:获得服务器端注册的数据项 –panelsDeleting属性:获得即将删除的UpdatePanel –panelsUpdating属性:获得即将更新的UpdatePanel •常用操作 –提示更新的UpdatePanel –(能够)获得服务器端注册的数据项 提示更新的UpdateP...
阅读全文
posted @
2008-04-24 19:44
一粒沙
阅读(335)
推荐(0)
PRM –beginRequest事件
摘要:PRM –beginRequest事件 •参数类型:BeginRequestEventArgs –request属性:用于获得WebRequest对象(用于请求的信息) –postBackElement:触发异步刷新的DOM元素 •常用操作: –读取请求信息 –改变请求方式(替换Executor) –显示更新提示 强制显示UpdateProgress aspx ...
阅读全文
posted @
2008-04-24 19:37
一粒沙
阅读(310)
推荐(0)
PRM–initializeRequest事件
摘要:PRM–initializeRequest事件 •参数类型:InitializeRequestEventArgs –request属性:用于获得WebRequest对象(用于请求的信息) –postBackElement:触发异步刷新的DOM元素 •常用操作: –读取请求信息 –取消此次异步更新 优先级高的异步刷新 aspx Loading ...
阅读全文
posted @
2008-04-24 19:24
一粒沙
阅读(339)
推荐(0)
PageRequestManager类
摘要:PageRequestManager类 •getInstance静态方法 –获得全局唯一的PageRequestManager实例 •isInAsyncPostBack属性 –是否正处在一个异步更新过程中 •abortPostBack方法 –取消当前的异步更新 –不会产生异常 客户端生命周期 •Sys.Application与PageRequestManager共同形成 •Sys._Applic...
阅读全文
posted @
2008-04-24 19:08
一粒沙
阅读(304)
推荐(0)
SwitchPartManager:在UpdatePanel中灵活地切换不同用户控件
摘要:这是一个很常见的使用场景,尤其是出现了UpdatePanel之后:页面中有一排菜单,点击菜单中的每一项,都会使某个UpdatePanel中出现不同的控制面板。在开发时,往往会将每个的控制面板写成不同的用户控件,点击菜单时事实上就是在UpdatePanel中放入不同的用户控件。 使用效果 首先,在页面中,会使用两个按钮在两个用户控件之间进行切换。在SwitchPartManager的PlaceH...
阅读全文
posted @
2008-04-23 22:46
一粒沙
阅读(338)
推荐(0)
动态添加UpdatePannel
摘要:aspx cs protected void Page_Load(object sender, EventArgs e) { UpdatePanel up = new UpdatePanel(); up.ID = "UpdatePanel1"; this.Form.Contr...
阅读全文
posted @
2008-04-23 20:56
一粒沙
阅读(169)
推荐(0)
在当前页面显示ajax出错信息
摘要:aspx cs protected void Page_Load(object sender, EventArgs e) { } ...
阅读全文
posted @
2008-04-23 17:57
一粒沙
阅读(380)
推荐(0)
当ajax出错时,自动跳转到在web.cofing中设置的错误页
摘要:aspx cs protected void Page_Load(object sender, EventArgs e) { } protected void B...
阅读全文
posted @
2008-04-23 17:49
一粒沙
阅读(301)
推荐(0)
在asp.net ajax中使用javascript
摘要:aspx cs protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { ClientScriptManager cs =...
阅读全文
posted @
2008-04-23 17:42
一粒沙
阅读(297)
推荐(0)
关于Timer控件
摘要:还可以设置Timer的OnTick方法,设定的时间一到就会调用这个方法
阅读全文
posted @
2008-04-23 17:32
一粒沙
阅读(161)
推荐(0)
UpdateProgress属性DynamicLayout和DisplayAfter
摘要:aspx DynamicLayout = false ...
阅读全文
posted @
2008-04-23 17:29
一粒沙
阅读(1216)
推荐(0)
设置控件是否是异步回发
摘要:aspx cs protected void Page_Load(object sender, EventArgs e) ...
阅读全文
posted @
2008-04-23 17:16
一粒沙
阅读(230)
推荐(0)
嵌套的UpdatePanel
摘要:点击Button1按钮,只有UpdatePanel2里...
阅读全文
posted @
2008-04-23 17:11
一粒沙
阅读(1149)
推荐(0)
UpdatePanel的几个属性
摘要:UpdatePanel的RenderMode属性 RenderMode Block:使用div包含内容 Inline:使用span包含内容 UpdatePanel的UpdateMode属性 Conditional:表示只用UpdatePanel内的控件有回发的时候UpdatePanel才更新 Always:这是默认值表示页面上所有的控件回发都会引起UpdatePanel更新一般建议设置成Condi...
阅读全文
posted @
2008-04-23 17:01
一粒沙
阅读(653)
推荐(0)