Atlas与URlRewrite融合问题一处

本文介绍了一种在使用UrlRewrite时,Atlas调用WebService出现的问题及解决方案。通过将WebService方法移植到播放页面并使用PageMethod调用的方式解决了这一问题。

    UrlRewrite是最近使用较为广泛的技术,不少网站为了隐藏或体现更为人性化的地址,而纷纷对之抛以媚颜,同时,另一种开发模式Atlas也在Ajax浪潮中小露拳脚。我想,不少人对这两样东西都是非常喜欢的。

    在最近一次开发中,为了让用户使用简便的URL点播媒体文件,采用了HttpPage重写,该播放页面上有对媒体文件评价的功能,采用的是Atlas调用部署在另一台服务器上的WebService服务。于是问题来了,重写出来的播放页面中Form的action被改写了,但ScriptManager注册过的Service Path却仍然调用真实地址注册的内容。结果一直报出Service未定义的错误。

    在尝试用JS改变Form的Action失败后,相继尝试将Service注册写成HardCode(也就是写成固定地址),也以错误告终。

    重新审视整个调用的过程发现,Urlrewrite重写后,除了页面内的方法能正确执行外,其他一概不能正确执行,于是想到将WebService转移到页面,因为Atlas可以调用Page Method方法。随后做了如下的事情将WebMethod原封不动copy至播放页面的.cs文件中(带上[WebMethod]属性),在原来Atlas调用类似SerivceTypeName.MethodName()的地方改用PageMethods.MethodName(),重新打开页面,一切OK了。

    希望对于喜欢Atlas又遇到使用Urlrewrite的朋友在遇到相似问题时有所帮助吧。

转载于:https://www.cnblogs.com/BeanHsiang/archive/2006/09/11/501317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值