「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>WCF]] -戻る --[[WCF]] --[[ASP.NETで考慮すべきタイムアウト値]] * 目次 [#je6a5029] #contents *概要 [#ke3dd348] WCFのタイムアウトについてまとめてみた。 *詳細 [#s8af6765] WCFでは、Bindingでタイムアウト設定が可能。 **クライアント側 [#nde8965c] ***概要 [#p802eb98] -SendTimeout --OperationTimeout の初期化に使用。 --メッセージの送信プロセス全体を制御。 ---要求/応答サービス操作の応答メッセージの受信 ---コールバック コントラクト メソッドから応答メッセージを送信 -ReceiveTimeout~ 使用されない。 -OpenTimeout~ 明示的なタイムアウト値が指定されていない場合、チャネルを開くときに使用。 -CloseTimeout~ 明示的なタイムアウト値が指定されていない場合、チャネルを閉じるときに使用。 ***参考 [#c69c8a64] -バインディングでのタイムアウト値の構成 --https://msdn.microsoft.com/ja-jp/library/hh924831.aspx --https://docs.microsoft.com/ja-jp/dotnet/framework/wcf/feature-details/configuring-timeout-values-on-a-binding **サーバ側 [#v370f5f7] ***概要 [#p0242c89] -検証した所、Executiontimeoutは効いてない模様。 -クライアント側のタイムアウト設定しかないが、~ サーバ側プログラムからOperationTimeoutに設定が可能。~ (既定で、クライアント側のSendTimeout設定をサーバ側のOperationTimeout設定の初期値に設定している) ***参考 [#ve0f81cf] -executionTimeout --WCF service timeout~ http://stackoverflow.com/questions/9567999/wcf-service-timeout -OperationTimeout --WCFのタイムアウト問題。。 | 自宅プログラマーのメモ部屋 - 楽天ブログ~ https://plaza.rakuten.co.jp/nutristudio/diary/201106250001/ --バインディングでのタイムアウト値の構成 | Microsoft Docs~ https://docs.microsoft.com/ja-jp/dotnet/framework/wcf/feature-details/configuring-timeout-values-on-a-binding *参考 [#hd0265c2] 設定・実装の例@Open棟梁 **クライアント [#m836e7a1] ***設定 [#s6180add] https://github.com/OpenTouryoProject/OpenTouryo/blob/master/root/programs/CS/Samples/WebApp_sample/WebForms_Sample/WebForms_Sample/Web.config#L235 ***実装 [#c414add6] -https://github.com/OpenTouryoProject/OpenTouryo/blob/master/root/programs/CS/Frameworks/Infrastructure/Framework/Transmission/CallController.cs#L626 -https://github.com/OpenTouryoProject/OpenTouryo/issues/280 **サーバ [#u7ee8226] ***設定 [#p04112f4] https://github.com/OpenTouryoProject/OpenTouryo/blob/master/root/programs/CS/Frameworks/Infrastructure/ServiceInterface/ASPNETWebService/ASPNETWebService/Web.config#L215