自强不息,止于至善

身无半文,心忧天下;手释万卷,神交古人
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

访问WebService的错误处理

Posted on 2007-10-28 09:19  L.Zhang  阅读(249)  评论(0)    收藏  举报

//前台代码

    <form id="form1" runat="server">
        
<asp:ScriptManager ID="ScriptManager1" runat="server">
            
<Services>
                
<asp:ServiceReference Path="ErrorHandling.asmx" />
            
</Services>
        
</asp:ScriptManager>
        
        
<input type="button" value="getDivision" onclick="getDivision(5, 0)" />
        
<input type="button" value="timeout" onclick="timeout()" />
        
        
<script language="javascript" type="text/javascript">
            
function getDivision(a, b)
            {
                
//在此成功回调函数置为空
                ErrorHandling.GetDivision(a, b, null, failedCallback);
            }
            
            
function timeout()
            {
                ErrorHandling.set_timeout(
2000);
                ErrorHandling.Timeout(
null, failedCallback);
            }
            
            
function failedCallback(error)
            {
                
var message = String.format(
                    
"Timeout: {0}\nMessage: {1}\nExceptionType: {2}\nStackTrace: {3}",
                    error.get_timedOut(),
                    error.get_message(),
                    error.get_exceptionType(),
                    error.get_stackTrace());
            
                alert(message);
            }
        
</script>
    
</form>
//WebService代码
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class ErrorHandling  : System.Web.Services.WebService
{
    [WebMethod]
    
public int GetDivision(int a, int b)
    {
        
return a / b;
    }

    [WebMethod]
    
public int Timeout()
    {
        Thread.Sleep(
5000);
        
return 0;
    }
}