Spiga
Posts - 155, Articles - 13, Comments - 2333
Cnblogs
Dashboard
Login
Home
Contact
Gallery
RSS
Cat in dotNET
用于Atlas June CTP的Web Service调用封装
2006-10-29 14:34 by Cat Chen, 94 visits,
网摘
,
收藏
,
编辑
Type.registerNamespace(
"
Cattism.BodyMaintainer.Web.Services
"
);
//
Cattism.BodyMaintainer.Web.Services
Cattism.BodyMaintainer.Web.Services._requests
=
new
Array();
Cattism.BodyMaintainer.Web.Services._busyIndicator
=
new
Sys.UI.Label($(
"
busyIndicator
"
));
Cattism.BodyMaintainer.Web.Services.call
=
function
()
{
var
service
=
arguments[
0
];
var
configuration
=
arguments[arguments.length
-
1
]
var
configurationWrap
=
Cattism.BodyMaintainer.Web.Services.createConfiguration(Cattism.BodyMaintainer.Web.Services._onComplete, Cattism.BodyMaintainer.Web.Services._onTimeout, Cattism.BodyMaintainer.Web.Services._onError, Cattism.BodyMaintainer.Web.Services._onAborted, configuration, configuration.timeoutInterval);
var
args
=
new
Array();
for
(
var
i
=
1
; i
<
arguments.length
-
1
; i
++
)
{
args.push(arguments[i]);
}
args.push(configurationWrap);
if
(Cattism.BodyMaintainer.Web.Services._requests.length
==
0
)
{
Cattism.BodyMaintainer.Web.Services._busyIndicator.set_visible(
true
);
}
var
request
=
service.apply(
this
, args);
Cattism.BodyMaintainer.Web.Services._addRequest(request)
}
Cattism.BodyMaintainer.Web.Services.createConfiguration
=
function
(onComplete, onTimeout, onError, onAborted, context, timeout)
{
if
(
!
timeout)
{
timeout
=
30000
;
}
return
{
onMethodComplete: onComplete,
onMethodTimeout: onTimeout,
onMethodError: onError,
onMethodAborted: onAborted,
userContext: context,
timeoutInterval: timeout
}
;
}
Cattism.BodyMaintainer.Web.Services._onComplete
=
function
(result, response, userContext)
{
var
request
=
response.get_webRequest();
Cattism.BodyMaintainer.Web.Services._removeRequest(request);
userContext.onMethodComplete.call(
this
, result, response, userContext.userContext);
}
Cattism.BodyMaintainer.Web.Services._onTimeout
=
function
(request, userContext)
{
Cattism.BodyMaintainer.Web.Services._removeRequest(request);
if
(userContext.onMethodTimeout)
{
userContext.onMethodTimeout.call(
this
, request, userContext.userContext);
}
else
{
alert(
"
Operation timeout.\r\nPlease retry later.
"
);
//
debug.trace("<b>Timeout: </b>" + request.get_resolvedUrl());
}
}
Cattism.BodyMaintainer.Web.Services._onError
=
function
(result, response, userContext)
{
var
request
=
response.get_webRequest();
Cattism.BodyMaintainer.Web.Services._removeRequest(request);
if
(userContext.onMethodError)
{
userContext.onMethodError.call(
this
, result, response, userContext.userContext);
}
else
{
alert(
"
Operation error:\r\n
"
+
result.get_message());
//
debug.trace("<b>Message: </b>" + result.get_message());
//
debug.trace("<b>Stack Trace: </b>" + result.get_stackTrace());
//
debug.trace("<b>Exception Type: </b>" + result.get_exceptionType());
}
}
Cattism.BodyMaintainer.Web.Services._onAborted
=
function
(request, userContext)
{
Cattism.BodyMaintainer.Web.Services._removeRequest(request);
if
(userContext.onMethodAborted)
{
userContext.onMethodAborted.call(
this
, request, userContext.userContext);
}
else
{
}
}
Cattism.BodyMaintainer.Web.Services._addRequest
=
function
(request)
{
Cattism.BodyMaintainer.Web.Services._requests.push(request);
}
Cattism.BodyMaintainer.Web.Services._removeRequest
=
function
(request)
{
for
(
var
i
=
0
; i
<
Cattism.BodyMaintainer.Web.Services._requests.length; i
++
)
{
if
(Cattism.BodyMaintainer.Web.Services._requests[i]
==
request)
{
Cattism.BodyMaintainer.Web.Services._requests.splice(i,
1
);
break
;
}
}
if
(Cattism.BodyMaintainer.Web.Services._requests.length
==
0
)
{
Cattism.BodyMaintainer.Web.Services._busyIndicator.set_visible(
false
);
}
}
0
0
0
(请您对文章做出评价)
«
上一篇:
Microsoft Ajax Beta1 - 边学边用边补充 (Part 2 - DragDropList)
»
下一篇:
深入理解 ViewState
Categories:
JavaScript
注册用户登录后才能发表评论,请
登录
或
注册
。
IT新闻
:
·
美调查公司称苹果iPad配件成本最低219美元
·
摩尔庄园:儿童生意密码
·
Facebook与美国在线合作 整合AIM动态功能
·
NDepend 3.0已与Visual Studio集成
·
Ruby in Steel 1.5发布,去除IronRuby支持
每天10分钟,轻松学英语
专题:
iPad
jQuery
Windows 7
网站导航:
博客园首页
IT新闻
个人主页
闪存
程序员招聘
社区
博问
网摘
China-pub 计算机图书网上专卖店!6.5万品种2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关搜索:
JavaScript
About
我的链接
我的标识
我的简历与作品
Cat in Chinese
Cat in English
Cat on Web Tech
订阅
版权许可
This work is licensed under a
Creative Commons License
.
我的主页
个人资料
我的闪存
发短消息
随笔分类
Rss
*Book Recommendation*(1)
Rss
*Comprehensive Understanding*(9)
Rss
*Most Practical*(9)
Rss
*Netcasts*(2)
Rss
*Random Clippings*(10)
Rss
*Resources*(4)
Rss
.NET Framework(14)
Rss
AJAX(45)
Rss
ASP.NET(68)
Rss
ASP.NET AJAX(24)
Rss
ASP.NET Futures(8)
Rss
C#(7)
Rss
CSS(14)
Rss
iPhone(8)
Rss
JavaScript(44)
Rss
LINQ(1)
Rss
Linq to Sql(2)
Rss
Linq to Xml(1)
Rss
Mac(1)
Rss
Rails(4)
Rss
Ruby(4)
Rss
Silverlight(7)
Rss
SQL(4)
Rss
Web(108)
Rss
WF(1)
Rss
Windows(1)
Rss
WPF(1)
Rss
XNA(1)
随笔档案
2010年2月(3)
2010年1月(1)
2009年12月(4)
2009年11月(5)
2009年10月(3)
2009年9月(1)
2009年8月(2)
2009年7月(3)
2009年6月(4)
2009年5月(4)
2009年4月(1)
2009年3月(2)
更多...
2008年12月(3)
2008年11月(2)
2008年10月(2)
2008年9月(2)
2008年4月(2)
2008年3月(5)
2008年2月(1)
2008年1月(7)
2007年12月(6)
2007年11月(4)
2007年10月(4)
2007年9月(1)
2007年8月(2)
2007年7月(3)
2007年6月(4)
2007年5月(4)
2007年4月(1)
2007年3月(5)
2007年2月(7)
2007年1月(3)
2006年12月(13)
2006年11月(11)
2006年10月(30)
我管理的小组
iPhone / iPad 开发
团队博客
.NET 控件与组件开发(0/0)
北京.NET俱乐部(0/0)
应届毕业生之家(0/0)
广州.NET俱乐部(0/0)
Ajax&Atlas技术团队(0/0)
ASP.NET AJAX (Atlas)学习(0/0)
.NetFramework3.0 & 3.5(WCF,WPF,WF)团队(0/0)
MVP(微软最有价值专家)团队(0/0)
Silverlight学习与研究(0/0)
Windows Vista开发(0/0)
数据库团队(0/0)
.net企业应用开发(0/0)
MVP播客(0/0)
asp.net开发团队(0/0)
RIA技术联盟(0/0)
60天内阅读排行
程序员的品味(3646)
程序之外的事情 (Part 1 - Speech)(2980)
《程序员羊皮卷》书评(2746)
看对的书 (Part 0 - 何谓对错)(2240)
China MVP Open Day 2009(2105)
能承载移动 Web 应用的唯一浏览器: Mobile Safari(1834)
Apple 谈论产品 vs Microsoft 谈论技术(1548)
欢迎加入 iPhone / iPad 开发小组(1527)
阅读排行榜
根本不存在 DIV + CSS 布局这回事(29866)
欲练 CSS ,必先宫 IE(14420)
你有 <table /> 强迫症吗?(9648)
IIS7 会重用那些不该重用 HttpHandler(9041)
Code is Configuration(8966)
英语阅读推荐:基于AJAX的ASP.NET聊天室 & 如何建立共识(8586)
什么样的 Code 更像是 Configuration(8321)
英语阅读推荐:美化文件上传框 & 无刷新文件上传(8055)
英语阅读推荐:使用AJAX+WF+LINQ制作Google IG式首页(7599)
十分钟内学会:将HTML格式化为合法的XML(7591)
我的链接
Rss
Cat in Chinese
Rss
Cat in English
我的标识
我的简历与作品