【WebService篇】
1.为WebService类添加自定义属性标记 [ScriptService]
2.必须是public 方法
3.方法添加自定义属性[WebMethod]
4.页面中的ScriptManager需要引入.asmx文件
5.客户端通过[Namespaces].ClassName.MethodName访问
【PageMethod篇】
1.只能在.aspx页面中定义(.ascx不可以)
2.只能是公开的静态方法
3.方法添加自定义属性[WebMethod]
4.ScriptManager的EnablePageMethods属性设置为true
5.客户端通过PageMethods.MethodName访问
【客户端调用】
1.调用完整签名
Invoke( arg1, arg2,..., onSucceeded, onFailed, userContext )
2.回调函数完整签名
onSucceeded( result, userContext, methodName )
onFailed( result, userContext, methodName )
3.WebService级别默认属性
timeout
defaultUserContext
defaultSucceededCallback
defaultFailedCallback
示例:
- <script language="javascript" type="text/javascript">
- ErrorHandling.set_defaultFailedCallback(failedCallback);
- ErrorHandling.set_timeout(2000);
- function getDivision(a, b)
- {
- ErrorHandling.GetDivision(a, b);
- }
- function failedCallback(error, userContext, methodName)
- {
- 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("Error at " + methodName + "/n/n" + message);
- }
- </script>
这样设置后就表示调用ErrorHandling这个WebService后,客户端所有的回调函数中的onFailed都有了一个默认的failedCallback方法来处理错误信息,可以不用再在每一个调用方法中写onFailed了。