Atlas 1.0 beta 调用 Webservice

本文介绍如何在ASP.NET AJAX Extensions中配置并调用WebService,包括添加[ScriptService]标记、配置web.config文件及使用ScriptManager引用WebService。

      与以前的版本有些不同,重要的是 atlas 1.0 beta 调用的webService 的时候 要在webservice 的开头 加多一个[ScriptService] ,官方文档:http://ajax.asp.net/docs/tutorials/useWebServiceProxy.aspx

整理了一下,大概是两个步骤吧:

一、打开enabled webservice设置。默认情况下 ASP.NET 2.0 AJAX Extensions 不能call webservice的。必须进行配置。

    1) 在webservice的开头加 [ScriptService],将其变成  proxy class(这个名词不是很理解,反正就这样叫了)

[ScriptService]
public   class  SimpleWebService : System.Web.Services.WebService
{
   [WebMethod]
   
public string EchoInput(String input)
   
{
   
// Method code goes here.
   }

  2)配置web.config。(如果新建工程所用的模版是 AJAX-Enabled Web Site 的话,这个设置已经打开了) 

< system .web >
  
< httpHandlers >
    
< remove  verb ="*"  path ="*.asmx" />
    
< add  verb ="*"  path ="*.asmx"  
           type
="Microsoft.Web.Script.Services.ScriptHandlerFactory"
            validate
="false" />
  
</ httpHandlers >
< system .web >  

   3)scriptManager(页面里的)

< asp:ScriptManager runat = " server "  ID = " scriptManager " >
  
< services >
    
< asp:servicereference
       path
= " ~/WebServices/SimpleWebService.asmx "   />
  
</ services >
</ asp:ScriptManager >

PS:测试你的配置是否成功,在你的URL后面加多“/js” ,即http://localhost/SimpleWebService.asmx/js,你会下载得到一个文件的就证明你成功了。^_^

二、现在你就可以在页面的javascript中使用web service了,如:

//  Calls the Web service method without 
//
 passing the local event handler. 
function  GetNoReturn()
{
   
// Samples.AspNet.CallWebService: web服务名称
   //  GetServerTime  :   "方法"
    Samples.AspNet.CallWebService.GetServerTime();
}

一般的话方法应该还会带有oncomplete动作的。在Atlas June CTP 的版本有一下几个属性:(cat是这样说的
            onMethodComplete: onComplete,
        onMethodTimeout: onTimeout,
        onMethodError: onError,
        onMethodAborted: onAborted,
        userContext: context,
        timeoutInterval: timeout

 

注意:可是如果你下载那个所谓的proxy class的话,你会发现只有三个onSuccess,onFailed,userContext,可要注意了喔。官方网站暂时还找不到,可能正在完善中吧,期待ing~~~~~~~~~~~

//  Calls the Web service method without 
//
 passing the local event handler. 
function  GetNoReturn()
{
   
// Samples.AspNet.CallWebService: web服务名称
   //  GetServerTime  :   "方法"
    Samples.AspNet.CallWebService.GetServerTime(OnComplete);
}

//
function  OnComplete{
    
// 调用webservic 成功之后所要的操作
   // 比如说 alert("返回成功");
}

 

所以有时候看程序的时候你会发现web Service没有那些参数,但是调用的时候会多了一些出来就是因为这样了。




 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值