微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Atlas 1.0 beta 调用 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.

@H_404_88@

   }

  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没有那些参数,但是调用的时候会多了一些出来就是因为这样了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐