Mono Apache2 HttpWebRequest аварийно завершает работу с сообщением «Время ожидания запроса истекло»

Я использую API платежного шлюза в своем приложении ASP.Net. При тестировании в MonoDevelop с XSP приложение работает. Когда я настраиваю его для работы в apache2 с mod_mono, код продолжает падать с ошибкой тайм-аута.

Я не понимаю, что может измениться с хостингом в Apache вместо XSP. В любом случае ниже приведен код, время ожидания которого истекло:

private string SubmitXml(string InputXml)
{
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(_WebServiceUrl);
    webReq.Method = "POST";

    byte[] reqBytes;

    reqBytes = System.Text.Encoding.UTF8.GetBytes(InputXml);
    webReq.ContentType = "application/x-www-form-urlencoded";
    webReq.ContentLength = reqBytes.Length;
    webReq.Timeout = 5000;
    Stream requestStream = webReq.GetRequestStream();
    requestStream.Write(reqBytes, 0, reqBytes.Length);
    requestStream.Close();

    HttpWebResponse webResponse = (HttpWebResponse)webReq.GetResponse();
    using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.ASCII))
    {
        return sr.ReadToEnd();
    }
}

Сбой кода в строке: Stream requestStream = webReq.GetRequestStream();

Возвращенная ошибка:

Время ожидания запроса истекло

Описание: HTTP 500. Ошибка обработки запроса.

Трассировка стека:

System.Net.WebException: время ожидания запроса истекло в System.Net.HttpWebRequest.GetRequestStream() [0x0005f] в /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System/System.Net/HttpWebRequest.cs:746 в TCShared.PxPay.SubmitXml (System.Строка InputXml) [0x00048] в /Users/liam/Projects/techcertain/techcertaincsharp/Components/TCShared/PaymentGateways/Client/PxPay.cs:85 в TCShared.PxPay.GenerateRequest (ввод TCShared.RequestInput) [0x00015] в /Users/liam/Projects/techcertain/techcertaincsharp/Components/TCShared/PaymentGateways/Client/PxPay.cs:69

В моем Web.Config указано следующее время ожидания запроса:

<httpRuntime executionTimeout="43200" maxRequestLength="104856" requestValidationMode="2.0"  />

Я попытался изменить время ожидания значение в HttpWebRequest, но время ожидания истекло.

Из-за чего это происходит и как это исправить?

5
задан startupsmith 31 March 2012 в 03:13
поделиться