Я использую C # для подключения к веб-сервису для сбора данных.Однако в настоящее время у меня возникают проблемы с запуском кода на удаленном сервере;когда я говорю о проблемах, я имею в виду его работу, но скорость соединения между клиентом и сервером смехотворно медленная (не по моей вине - клиент предоставляет медленный набор результатов через веб-сервис, и у них все тайм-ауты отключены на их стороне, чтобыдля этого.)
if ((endpointConfiguration == EndpointConfiguration.SFFService))
{
System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding();
result.MaxBufferSize = int.MaxValue;
result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max;
result.MaxReceivedMessageSize = int.MaxValue;
result.AllowCookies = true;
result.OpenTimeout = TimeSpan.MaxValue;
result.CloseTimeout = TimeSpan.MaxValue;
result.SendTimeout = TimeSpan.MaxValue;
return result;
}
Итак.Не очень хорошее начало.Откройте «Закрыть» и отправьте все настройки на максимум.
В любом случае, я сопоставил их длительные тайм-ауты с моей стороны, и несколько небольших запросов веб-службы завершаются и успешно выполняются на сервере.Самый большой, самый медленный, однако, просто зависает бесконечно, вероятно, потому что я сказал ему никогда не останавливаться.
Тем не менее, я почти уверен, что произошла какая-то другая проблема, так как я оставил ее на ночь, и она просто сидела там.Локально, на моей машине разработки, хотя и медленно, это работает.
Мой вопрос: есть ли у кого-нибудь идеи по поводу дополнительных вещей, чтобы проверить, какая среда потенциально может быть здесь?Я подумал, что, возможно, брандмауэр, но, учитывая, что небольшие запросы успешно выполняются (и соединяются), очень трудно отлаживать медленные запросы, так как я не знаю, как долго ждать, пока программа не выполнит ничего.
FWIW Я попытался подключиться через браузер, и снова браузер просто сидит и ждет завершения запроса, чего он никогда не делает (скорее всего, из-за того, что на сервере отключено время ожидания).Если бы был какой-либо способ узнать, какая часть запроса осталась завершенной (например, процент загрузки), это может помочь дать мне некоторое представление о том, выполняет ли код что-то кроме ожидания.