2017-06-30 64 views
1

ユーザーがWebサービスメソッドを呼び出したときのCPU使用率が70%から80%に上昇すると、たとえば12.01.00のようになりますが、12.02のような1分後にはデータベースサーバーには十分な富があります。 00とデータベースサーバーは、要求のミリ秒単位で応答を返し、このエラーが発生します。System.Web.HttpException(0x80004005):要求がelmahでタイムアウトしました.Webサービスメソッドで要求を受信して​​から送信するまでに時間差がありますデータベースへ。 CPUが正常であれば、すべてがスムーズに動作します.net側で受信した要求とデータベースに送信する間に、この1分の時間差がなぜ発生するのか分かりません。 リセット後、すべて正常に動作します。これは本番サーバーのみで、開発サーバーおよびUATサーバーでは発生しません。asp.net4.5で500分のリクエストタイムアウト

IISバージョン:web.configファイルの更新では-8.5とSQL 2012

答えて

0

のhttpRuntime executionTimeout値

<configuration> 
    <system.web> 
     <httpRuntime executionTimeout="300" /> 
    </system.web> 
</configuration> 

executionTimeout:要求があること秒の最大数を指定ASP.NETによって自動的にシャットダウンされる前に実行することができます。デフォルトは110秒です。

+0

コメントを変更します。コメントを削除します。 返信いただきありがとうございます。私は自分のプロジェクトのどこに問題があるのか​​を知る必要があります。私たちのプロジェクトではDIパターンが使用されていますが、現在はコードとその動作上の問題はコメントされています。以下は私のサンプルコードです。 – Jyoti

+0

var kernel = new StandardKernel(); kernel.Load(Assembly.GetExecutingAssembly()); var objRepo = kernel.Get (); Int64レスポンス= objRepo.WriteLogToDatabase(sInputJson、sCreatedBy、sAPIName、dtRequestDateTime、sPOSCode、sMobileNo、sDocNo、sDocPrefix、sVersion、Flag_Bulk、Bulk_count、Flag_Online); 返信返信。 DIの最良の方法を実装する方法を教えてください。以下の行の下にあるので、 kernel.Load(Assembly.GetExecutingAssembly())は、IISワーカープロセッサでより多くの領域を占めています。 DI実装の最善の方法を提供すれば、それは私のプロジェクトで完全に役立ちます。 – Jyoti

関連する問題