使用启用Javascript的WCF进行错误处理?
是否有关于如何在暴露于Javascript的WCF服务中使用回调函数的文档?我感兴趣的是从FailureCallback中获取有关我的方法为何不触发的信息 换句话说,我有以下JavaScript代码:使用启用Javascript的WCF进行错误处理?,javascript,ajax,wcf,microsoft-ajax,wcf-callbacks,Javascript,Ajax,Wcf,Microsoft Ajax,Wcf Callbacks,是否有关于如何在暴露于Javascript的WCF服务中使用回调函数的文档?我感兴趣的是从FailureCallback中获取有关我的方法为何不触发的信息 换句话说,我有以下JavaScript代码: function getWCF_RowNumber(parentID) { logEvent("<strong>Busy</strong>: Please wait while lower grid is refreshed...");
function getWCF_RowNumber(parentID) {
logEvent("<strong>Busy</strong>: Please wait while lower grid is refreshed...");
var service = new ajaxTest();
service.Vendor_GetParentRowNumber(parentID, moveBottomGridToRow, wcfFailCallback, null);
}
函数getWCF\u行数(parentID){
logEvent(忙:正在刷新较低的网格,请稍候…);
var服务=新的ajaxTest();
service.Vendor_GetParentRowNumber(parentID、moveBottomGridToRow、wcfFailCallback、null);
}
如何实现wcfFailCallback?我假设您使用的是ASP.NET AJAX,而不是jQuery或其他第三方JavaScript库 ASP.NET AJAX失败回调采用单个参数。从MSDN中,失败回调示例如下所示:
function wcfFailCallback(error)
{
var stackTrace = error.get_stackTrace();
var message = error.get_message();
var statusCode = error.get_statusCode();
var exceptionType = error.get_exceptionType();
var timedout = error.get_timedOut();
// Display the error.
var RsltElem =
document.getElementById("Results");
RsltElem.innerHTML =
"Stack Trace: " + stackTrace + "<br/>" +
"Service Error: " + message + "<br/>" +
"Status Code: " + statusCode + "<br/>" +
"Exception Type: " + exceptionType + "<br/>" +
"Timedout: " + timedout;
}
函数wcfFailCallback(错误)
{
var stackTrace=error.get_stackTrace();
var message=error.get_message();
var statusCode=错误。获取_statusCode();
var exceptionType=错误。获取_exceptionType();
var timedout=error.get_timedout();
//显示错误。
var RsltElem=
document.getElementById(“结果”);
RsltElem.innerHTML=
堆栈跟踪:“+stackTrace+”
”+
服务错误:“+消息+”
”+
状态代码:“+statusCode+”
”+
异常类型:“+exceptionType+”
”+
“Timedout:”+Timedout;
}
因此,wcfFailCallback
函数接受一个error
参数,该参数具有许多属性,可为您提供有关失败原因的信息
有关MSDN的完整文章如下所示。它详细介绍了如何将WCF服务连接到ASP.NET AJAX客户端
我希望这有帮助!!如果还有其他问题,或者我没有完全理解你的问题,请告诉我,我会相应地更新我的答案