Не удалось подключиться к службе и получить следующую ошибку:
An existing connection was forcibly closed by the remote host.
Я запускаю службу POST-OData с некоторыми данными. Когда я ввожу данные в течение 1 минуты, служба успешно срабатывает, и данные публикуются. Но когда я ввожу данные более минуты, я получаю эту ошибку. Используется SQL-сервер. Служба в этом случае не страдает.
$.ajax({
url: "/Non_SAP_Instrumentation/odata/LoopDrawing",
method: "POST",
data: {
"UnitNumber": unit_no,
"TagName": tag_name,
"SysTagName": sys_tag_name,
"TagDesc": tag_description,
"JbNo": jb_no,
"JbPairNo": jb_pair_no,
"JbTerminal": jb_terminal,
"IoType": io_type,
"Ctrl": controller,
"Node": node,
"Slot": slot,
"Channel": channel,
"Segment": segment,
"Redundancy": redundancy,
"MarCab": marsh_cab,
"SurgeProtc": surge_protc,
"Barrier": barrier,
"Relay": relay,
"FuseTbGrp": fuse_tb_group,
"FuseTbTerm": fuse_tb_term,
"Update": "No",
"CreatedBy": that.name,
"CreatedByID": that.EmpModel.getProperty("/").name,
"ModifiedBy": that.name,
"ModifiedByID": that.EmpModel.getProperty("/").name
},
dataType: "json",
success: function(data) {
var value = JSON.parse(data.value);
sap.ui.core.BusyIndicator.hide();
if (value.Status == "OK") {
MessageBox.information("Loop Drawing has been created", {
onClose: function() {
that.router.navTo("TagMasterPage", {
TAG: tag_name
});
that.makingFieldsBlank();
that.window.location.reload();
}
});
} else {
sap.ui.core.BusyIndicator.hide();
MessageBox.information("Unable to create Loop Drawing", {
onClose: function() {
that.router.navTo("SearchOrCreate");
that.window.location.reload();
}
});
}
},
error: function(err) {
sap.ui.core.BusyIndicator.hide();
console.info(err.responseText);
MessageBox.information("Unable to create Loop Drawing", {
onClose: function() {
that.router.navTo("SearchOrCreate");
}
});
}
@FeaturedSpace Я не разбираюсь в конфигурациях серверов. Но могу ли я справиться с этим на стороне кода?
Пожалуйста, смотрите ответ по адресу: stackoverflow.com/questions/2582036/… - это не зависит от языка, но связано с TCP/IP... В дополнение к использованию wireshark, чтобы точно увидеть, что происходит, вы можете использовать "Fiddler" для изучения обмена клиент/сервер или сетевое представление панели разработчика, если вы еще этого не сделали.
Выше: но относится к TCP/IP <следует читать>, но относится к СОЕДИНЕНИЯМ TCP/IP, которые остаются открытыми в течение длительного периода времени (среди прочего). Вы также упоминаете SQL Server, может быть, это TOE/Chimney? Необходимо устранить 1 основную причину, см.: blogs.msdn.microsoft.com/sql_protocols/2008/04/08/…
Это может быть достигнуто с помощью следующих шагов: 1) Зайдите в ИИС 2) Перейдите к дополнительным настройкам веб-приложений. 3) выберите Лимит подключений и установите время ожидания подключения.
Но это снижает производительность сервера. Таким образом, ограничение времени ожидания соединения должно быть установлено минимальным соответственно.
Я предполагаю, что сервер создан для автоматического закрытия соединения через 1 минуту без ввода данных?