C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: asp:TextBox などにタイムアウト時間の設定はできま


(過去ログ 172 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■99344 / inTopicNo.1)  asp:TextBox などにタイムアウト時間の設定はできま
  
□投稿者/ yasoo7964 (1回)-(2022/03/18(Fri) 13:40:55)

分類:[.NET 全般] 

asp初心者に毛が生えた程度です。

asp:TextBox といった部品は内部で勝手にサーバと通信しているんだと思いますが、
そのタイムアウト時間の設定はできますでしょうか?
通信不全となった場合にすごく重くなってしまうと聞いたので。

どなたかご教示宜しくお願い致します。

引用返信 編集キー/
■99345 / inTopicNo.2)  Re[1]: asp:TextBox などにタイムアウト時間の設定はできま
□投稿者/ WebSurfer (2457回)-(2022/03/18(Fri) 14:07:34)
No99344 (yasoo7964 さん) に返信

> asp:TextBox といった部品は内部で勝手にサーバと通信しているんだと思いますが、

いえ、TextBox 自体が「内部で勝手にサーバと通信」なんてことはしてません。

> そのタイムアウト時間の設定はできますでしょうか?

なので、TextBox 自体にそんなオプションはありません。

> 通信不全となった場合にすごく重くなってしまうと聞いたので。

誰がそんなことを言ったのか知りませんが、そもそも「通信不全」とは何ですか? 
TextBox を使った時の「通信不全」って具体的にどういう事態を想像してますか?


引用返信 編集キー/
■99346 / inTopicNo.3)  Re[2]: asp:TextBox などにタイムアウト時間の設定はできま
□投稿者/ yasoo7964 (2回)-(2022/03/18(Fri) 18:29:21)
ご回答ありがとうございます。

どんな時に通信するのか色々聞いてまわった結果、どうも

「runat=serverにした場合のOnClickはサーバサイドの関数が呼ばれる」という事

をそう言っていたみたいです。
上記についてで良いので、その場合の通信タイムアウト時間を指定する事は可能でしょうか?

通信不全とはLANケーブル抜けだったりwifiのパケ落ちだったりつまり応答がなかなか来ない状態です。

すみませんが宜しくお願い致します。

引用返信 編集キー/
■99347 / inTopicNo.4)  Re[3]: asp:TextBox などにタイムアウト時間の設定はできま
□投稿者/ WebSurfer (2458回)-(2022/03/18(Fri) 20:10:23)
No99346 (yasoo7964 さん) に返信

> 「runat=serverにした場合のOnClickはサーバサイドの関数が呼ばれる」という事

意味不明です。

ASP.NET Web Forms は必ずサーバーサイドの関数が呼ばれます。

そう言った人にここに出てきてもらって質問してもらったらいかがですか?

でないと話が通じないと思います。



引用返信 編集キー/
■99348 / inTopicNo.5)  Re[3]: asp:TextBox などにタイムアウト時間の設定はできま
□投稿者/ 古谷 (36回)-(2022/03/18(Fri) 20:46:49)
No99346 (yasoo7964 さん) に返信

LANケーブルが抜けてたらブラウザでエラーになるんじゃないかな
レスポンスが遅いって結構ストレスだったりするからねサーバ側の処理が遅いならそれを改善するのが良いのだろうけど
リクエストのタイムアウトは非同期でサーバにリクエスト送って所定の時間待ってみるとかじゃないかな

引用返信 編集キー/
■99349 / inTopicNo.6)  Re[3]: asp:TextBox などにタイムアウト時間の設定はできま
□投稿者/ WebSurfer (2459回)-(2022/03/19(Sat) 11:04:53)
質問者さんが具体的に何をしたいのか不明ですが、待っていてもそれは分からなそうですので、
ASP.NET の timeout と処理の中断に関して書いておきます。

まず、timeout には httpRuntime 要素の executionTimeout 属性の設定というのがあり、デフ
ォルトで 110 秒 になってます。詳しくは以下の記事を見てください。

httpRuntime 要素 (ASP.NET 設定スキーマ)
https://docs.microsoft.com/ja-jp/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100)

How the Execution Timeout is managed in ASP.NET
https://docs.microsoft.com/ja-jp/archive/blogs/pedram/how-the-execution-timeout-is-managed-in-asp-net

ASP.NET Web Forms アプリで ScriptManager と UpdatePanel を用いて非同期ポストバックを
行っている場合は、PageRequestManager クラスの abortPostback メソッドで abort できます。
それを setTimeout で呼び出せばタイムアウトできると思います。例えば、以下の記事ではユー
ザーがボタンクリック操作で AbortPostBack() を呼び出すようにしてますが、それを JavaScript
の setTimeout で呼び出すとか。

二度押し防止
http://surferonwww.info/BlogEngine/post/2010/12/12/Cancel-request-using-PageRequestManager.aspx

ajax を使って非同期要求をかけている場合も abort することで中断できます。例えば jQuery 
ajax には timeout というオプションがあって、それで任意の時間を設定できます。具体例は
下記。timeout は 5 秒に設定していて、それが過ぎても要求が返ってこない場合は fail に
設定したコールバックが動いて引数 textStatus には "timeout" という文字列が渡されます。


<script type="text/javascript">
    $(function () {
        $("#btnSec").on("click", function () {
            $.ajax({
                type: "get",
                url: "Handler1.ashx",
                timeout: 5000
            }).done(function (data) {
                // ・・・成功したときに必要な処理(省略)・・・
            }).fail(function (jqXHR, textStatus, errorThrown) {
                $("#Label1").text("処理できません - " + textStatus);
            });
        });
    });
</script>

あとは、ブラウザの &#10005; ボタンをクリックするとか Esc キーを押すとかして処理をキャンセル
することもできます。MVC5 の例を書いた記事を紹介しておきます。

要求の中断による処理のキャンセル (MVC5)
http://surferonwww.info/BlogEngine/post/2021/07/12/handling-aborted-request-in-aspnet-mvc5-application.aspx

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -