天天看點

使用HTTP GET通路方法

•使用scriptmethodattribute進行标記

–usehttpget屬性設為true

•用戶端使用代理的方法沒有任何變化

•參數将使用querystring進行傳遞

•性能較httppost方法略有提高

•一些特性略有改變

–緩存的基礎

aspx

    <form id="form1" runat="server">

        <asp:scriptmanager id="scriptmanager1" runat="server" scriptmode="debug">

            <services>

                <asp:servicereference path="services/usehttpgetservice.asmx" inlinescript="true" />

            </services>

        </asp:scriptmanager>

        <input type="button" value="get random" onclick="getrandom()" />

        <input type="button" value="get range random" onclick="getrandom(50, 100)" />

        <script language="javascript" type="text/javascript">

            function getrandom(minvalue, maxvalue)

            {

                if (arguments.length != 2)

                {

                    usehttpgetservice.getrandom(onsucceeded);

                }

                else

                    usehttpgetservice.getrangerandom(minvalue, maxvalue, onsucceeded);

            }

            function onsucceeded(result)

                alert(result);

        </script>

    </form>

usehttpgetservice.asmx

<%@ webservice language="c#" class="usehttpgetservice" %>

using system;

using system.web;

using system.web.services;

using system.web.services.protocols;

using system.web.script.services;

[webservice(namespace = "http://tempuri.org/")]

[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]

[scriptservice]

public class usehttpgetservice  : system.web.services.webservice

{

    [webmethod]

    public int getrandom()

    {

        return new random(datetime.now.millisecond).next();

    }

    [scriptmethod(usehttpget=true)]

    public int getrangerandom(int minvalue, int maxvalue)

        return new random(datetime.now.millisecond).next(minvalue, maxvalue);

}

webservice方法加上    [scriptmethod(usehttpget=true)]修飾即表示使用get的方法通路

繼續閱讀