服务器端代码:
 RandomNum : System.Web.Services.WebService
    {
        public RandomNum()
        {

            
//如果使用设计的组件,请取消注释以下行 
            
//InitializeComponent(); 
        }

        [WebMethod]
        
public int GetRandNum()
        {
            Random rnd 
= new Random(DateTime.Now.Second);
            
return rnd.Next();
        }
        [WebMethod]
        
public int GetRangeNum(int minVlaue, int maxValue) 
        {
            
return new Random(DateTime.Now.Second).Next(minVlaue, maxValue);
        }

    }

 

客户端代码:

 


        <Services>
        
<asp:ServiceReference  Path="~/Service.asmx" InlineScript="True" />
        
</Services>
        
</asp:ScriptManager>
        
<script language="javascript" type="text/javascript">
        
//得到介于minValue和maxVuale 之间的随机数
        function       GetRandomNum(minValue,maxVuale)
        {
        
if(arguments.length!=2)
        {
        
//根据参数的个数来判断调用服务器webmethod方法 
            Smaple.RandomNum.GetRandNum(GetRandomNumSuccessed,GetRndNumFailed);
         }
         
else
         {
            Smaple.RandomNum.GetRangeNum(minValue,maxVuale,GetRandomNumSuccessed,GetRndNumFailed);
         }
        }   
        
        
//方法成功返回调用的回调函数
        function GetRandomNumSuccessed(results)
        {
               successedMessage.innerHTML
=results.toLocaleString();
        }
        
//方法调用出现异常的回调函数
        function GetRndNumFailed(results)
        {
          failedMessage.innerHTML
="错误";
        }
        
</script>

        
<input  ID="Button1"  type="button" value="Button"  onclick="GetRandomNum()"/>
        
<input type="text" value="rangeNum",  onmouseover ="GetRandomNum(1111,100)" /></div>
        
<div id="failedMessage" style="color:Red"></div>
                
<div id="successedMessage" style="color:Red"></div>

 

实现原理:

 

    web service 发布后,客户端添加引用,之后vs实际上在此时已经在后台生成本地代理类。之后看起来像是对web service的操作,实际上是对本地代理类的操作。代理类中处理网路访问逻辑,客户端的使用就象操作本地类一样简单便捷。

    客户端发出web service请求后,请求到达代理类,代理类处理请求从服务端获得SOAP数据包,而后进行数据处理后转发客户端。此中间涉及到的关于SOAP,WSDL等定义,简单的可以理解为:SOAP中定义了传输数据类型的格式和规则,而WSDL则以XML的形式定义了web service的消息和有关操作,通过http传输协议进行数据传输...(摘自CSDN http://blog.csdn.net/JustLovePro/archive/2008/08/27/2836898.aspx

相关文章:

  • 2022-12-23
  • 2021-05-23
  • 2021-07-11
  • 2022-12-23
  • 2021-11-20
  • 2021-11-20
猜你喜欢
  • 2022-01-07
  • 2021-06-11
  • 2021-10-12
  • 2021-09-25
  • 2021-07-27
相关资源
相似解决方案