检查自承载服务是否正在运行

Check is a Self-Hosted-Service is running or not

本文关键字:运行 是否 服务 检查      更新时间:2023-09-26

我有一个将在客户端计算机上运行的自承载服务(使用 WCF)。该服务应该向另一台服务器发出请求,以XML格式获取数据,然后将该数据作为JSONP返回给我。现在我想检查服务是否正在运行..我该如何检查?

在我的JS代码中,我将$.getJSON与回调一起使用,因此我尝试使用如下.fail

$.getJSON("http://localhost:8080/url?callback=?", function () {
    alert("success");
}).fail(function () {
    alert('fail');
})

但是当服务器未运行时没有调用失败函数(在 chrome 上,类型为 pendingStatus为 失败)

然后我尝试使用 $。像这样 AJAX:

$.ajax({
    type: 'GET',
    dataType: 'jsonp',
    url: 'http://localhost:8080/url?callback=?',
    success: function (data, textStatus) {
        alert('request successful');
    },
    error: function (xhr, textStatus, errorThrown) {
        alert('request failed');
    }
});

我得到了同样的结果。

当您向本地主机发出 AJAX 请求并返回其他服务器是否启动的天气时/url?脚本不会失败。因为http://localhost/url是在线的。

我会让/url脚本返回带有remoteHostOnline: true or false的 JSON 数组,然后使用:

$.ajax({
type: 'GET',
dataType: 'jsonp',
url: 'http://localhost:8080/url?callback=?',
success: function (data, textStatus) {
    if (data.remoteHostOnline == false) {
        alert('remote host not online');
    }
}
});

您可能需要调整此脚本我没有测试它,但您会了解问题所在。