• λ我爱Aspx >> Asp.Net >> 在ASP.NET Atlas中调用Web Service—直接在ASPX页面上暴露Web Method
  • 在ASP.NET Atlas中调用Web Service—直接在ASPX页面上暴露Web Method

  • :aspxer  Դ:5iaspx  :2007-8-1 13:13:41  ؼ:.net,asp.net,atlas,web,asp,aspx
  • 作者:Dflying Chen(http://dflying.cnblogs.com/

    前面的一系列的文章都是直接调用单独的一个Web Service,而在实际项目开发中,特别是在对现有的项目转换中,把页面中的逻辑再提取到专门的Web Service中往往会带来相当多的工作。Atlas充分考虑到了这一点,允许您将服务器端的public方法加上[WebMethod]属性以允许客户端JavaScript的直接调用。

    想允许客户端直接调用定义在ASPX页面中的方法,您需要指定该方法为public,并且添加[WebMethod]属性,例如如下定义在ASPX文件中的服务器端方法:

    <script runat="server">

    [WebMethod]

    public int AddInt(int int1, int int2)

    {

    return int1 + int2;

    }

    </script>

    在客户端,Atlas将为您Mashup出一个AddInt的JavaScript方法,存在于一个特殊的命名空间PageMethods中,这样您就可以通过PageMethods.AddInt()调用上面的方法了。

    同时,将WebMethod定义到ASPX页面中,您还可以在该方法中访问一切页面上的服务器端控件的值和ViewState,并且整个页面的的生存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等方法均会被调用,可以让我们对页面有更强的访问能力。不过这样也带来了性能上的折扣,因为每次调用Web Method的时候都会把页面上的ViewState和控件的值传回给服务器,并且服务器端处理整个页面的生存周期将要比仅仅处理一个纯粹的定义在ASMX中的Web Method要复杂的多。所以这里我推荐尽可能的使用纯粹的Web Service,请参考:在Atlas服务器端实现中推荐使用Web Service而不是Page Method。

    Ҷƪл˵?
  • һƪ巧用WinRAR将机密文件伪装得不易察觉
    һƪ存储过程中调用C#写的DLL