ASP.Netアプリケーションで支払いゲートウェイAPIを使用しています。 MonoDevelopでXSPでテストするとき、アプリケーションは動作します。 mod_monoでapache2を実行するように設定すると、コードはタイムアウトエラーでクラッシュします。Mono Apache2 HttpWebRequestが「要求のタイムアウト」でクラッシュする
私は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] /プライベート/ tmpに/ monobuild /ビルド/ BUILD /モノ2.10.9/mcs/class/System/System.Net/HttpWebRequest.cs:746 at TCShared.PxPay.SubmitXml(System.String InputXml) /Users/liam/Projects/techcertain/techcertaincsharp/Components/TCShared/PaymentGateways/Client/PxPay.cs:85 at TCShared.PxPay.GenerateRequest(TCShared.RequestInput入力) [0x00015] /ユーザー/ liam/Projects/techcertain/techcertaincsharp/Components/TC共有/ PaymentGateways /クライアント/ PxPay.cs:69私のWeb.Configで
私は要求タイムアウトとして次き:
<httpRuntime executionTimeout="43200" maxRequestLength="104856" requestValidationMode="2.0" />
私は、HttpWebRequestの上のタイムアウト値を変更しようとしたが、それいますまだタイムアウトしています。
これは何が起こっているのですか、どのように修正できますか?
ちょっと私は同じ問題を抱えていますが、Mono.Securityを削除しても問題は解決しませんでした。これは、2つの異なるLinuxインストールとmon on winでも一貫しています。他に何をしようと思うのですか? – Pablote
こんにちは、別のバージョンのMonoを試すことができます。私は私のMac上でバージョン2.10.8を使用しており、HttpWebRequestが動作しています。モノをバージョン2.10.9にアップグレードしたとき、HttpWebRequestが機能しなくなったため、2.10.8にダウングレードしなければなりませんでした。 – startupsmith
Mono.Securityを削除する。dllは私のためにこれを修正しましたが、ソースdll(プロジェクト参照先)とBin/Debug | Releaseフォルダを持っているフォルダから、前のビルドからコピーされているので、 。 – t9mike