Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
TERASOLUNA Framework
>
Forums
>
Open Discussion
>
【For.NET】ファイルアップロードタイムアウトについて
TERASOLUNA Framework
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
Forums
List of Forums
Open Discussion (1277)
Mailing Lists
list of ML
terasoluna-information
News
Forums:
Open Discussion
(Thread #30162)
Return to Thread list
RSS
【For.NET】ファイルアップロードタイムアウトについて (2011-08-18 20:36 by
Anonymous
#59187)
Reply
Create ticket
「TERASOLUNA Server/Client Framework for .NET2.0」を使用して開発をしておりますが、
ファイルアップロードの機能について問い合わせさせて頂きます。
「FC-02 ファイルアップロード機能」のページ295の「リスト 7 リクエストタイムアウト時間を変更する場合の実装例」
に従って、ファイルアップロードのタイムアウトを実装しました。
// Itemsにリクエストタイムアウト時間 (300000ms)を設定する
eventController1.Items["RequestTimeout"] = 300000;
// イベントコントローラの実行
ExecutionResult result = eventController1.Execute();
ただ、5分後タイムアウトになりましたが、ファイルアップロードが継続して、最終的にファイルがサーバにアップロードされた事象が発生しています。
ここで質問ですが、ファイルアップロードリクエストタイムアウト後、何か処理しないとファイルアップロードが中断しない事でしょうか?
Reply to #59187
×
Subject
Body
Reply To Message #59187 > 「TERASOLUNA Server/Client Framework for .NET2.0」を使用して開発をしておりますが、 > ファイルアップロードの機能について問い合わせさせて頂きます。 > > 「FC-02 ファイルアップロード機能」のページ295の「リスト 7 リクエストタイムアウト時間を変更する場合の実装例」 > に従って、ファイルアップロードのタイムアウトを実装しました。 > > // Itemsにリクエストタイムアウト時間 (300000ms)を設定する > eventController1.Items["RequestTimeout"] = 300000; > // イベントコントローラの実行 > ExecutionResult result = eventController1.Execute(); > > > ただ、5分後タイムアウトになりましたが、ファイルアップロードが継続して、最終的にファイルがサーバにアップロードされた事象が発生しています。 > > ここで質問ですが、ファイルアップロードリクエストタイムアウト後、何か処理しないとファイルアップロードが中断しない事でしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 【For.NET】ファイルアップロードタイムアウトについて (2011-08-19 10:39 by
Anonymous
#59189)
Reply
Create ticket
リクエストタイムアウトはクライアント側の要求に対するサーバの応答を待機する時間なので、
リクエストタイムアウトが発生してもクライアント側が待機するのをやめるだけでサーバ側の処理は続行されるのではないでしょうか。
ファイル転送自体は完了していて、その後のサーバ側処理の間にクライアントでリクエストタイムアウトが発生してもサーバ側はそのまま処理を進めると思います。
>ここで質問ですが、ファイルアップロードリクエストタイムアウト後、何か処理しないとファイルアップロードが中断しない事でしょうか?
アップロード処理を非同期にして、独自にタイムアウト処理を実装、タイムアウト直前にサーバ側処理をキャンセルさせる等のギミックが必要になるのではないでしょうか。
Reply to
#59187
Reply to #59189
×
Subject
Body
Reply To Message #59189 > リクエストタイムアウトはクライアント側の要求に対するサーバの応答を待機する時間なので、 > リクエストタイムアウトが発生してもクライアント側が待機するのをやめるだけでサーバ側の処理は続行されるのではないでしょうか。 > ファイル転送自体は完了していて、その後のサーバ側処理の間にクライアントでリクエストタイムアウトが発生してもサーバ側はそのまま処理を進めると思います。 > > >ここで質問ですが、ファイルアップロードリクエストタイムアウト後、何か処理しないとファイルアップロードが中断しない事でしょうか? > アップロード処理を非同期にして、独自にタイムアウト処理を実装、タイムアウト直前にサーバ側処理をキャンセルさせる等のギミックが必要になるのではないでしょうか。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 【For.NET】ファイルアップロードタイムアウトについて (2011-08-19 10:54 by
Anonymous
#59190)
Reply
Create ticket
ご回答ありがとうございます。
実際に非同期処理にしてみましたが、タイムアウトした後、Cancelを発行したが、やはり送信が続いています。
Reply to
#59187
Reply to #59190
×
Subject
Body
Reply To Message #59190 > ご回答ありがとうございます。 > > 実際に非同期処理にしてみましたが、タイムアウトした後、Cancelを発行したが、やはり送信が続いています。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 【For.NET】ファイルアップロードタイムアウトについて (2011-08-19 15:09 by
tatsumihr
#59192)
Reply
Create ticket
MSDNを見ると、HttpWebRequestのTimeoutプロパティは、
「GetResponse メソッドで行った後続の同期要求が応答を待機する時間を表すミリ秒数です。」と書いてあります。
TERASOLUNAの通信クラスのコードを見ると、RequestStreamにデータを書き込んだ後に、GetResponseでレスポンスを取得しています。
タイムアウトとは、このGetResponseの待機時間が過ぎたというだけですので、
この時点では、すでにデータの送信“要求”は完了しているのではないかと思います。
実際に送信が完了しているかどうかは分かりませんが。
先のコメントにもありましたが、タイムアウトはクライアント側がサーバへのGetResponseの応答を待たないだけですので、
サーバ側の処理は継続されているものと思います。
どうしてもファイルを削除したい場合は、クライアント側のタイムアウト発生後、クライアント側のビジネスロジックから、
再度サーバにリクエストを送ってファイルを削除するしかないのではないでしょうか。
Reply to
#59190
Reply to #59192
×
Subject
Body
Reply To Message #59192 > MSDNを見ると、HttpWebRequestのTimeoutプロパティは、 > 「GetResponse メソッドで行った後続の同期要求が応答を待機する時間を表すミリ秒数です。」と書いてあります。 > > TERASOLUNAの通信クラスのコードを見ると、RequestStreamにデータを書き込んだ後に、GetResponseでレスポンスを取得しています。 > タイムアウトとは、このGetResponseの待機時間が過ぎたというだけですので、 > この時点では、すでにデータの送信“要求”は完了しているのではないかと思います。 > 実際に送信が完了しているかどうかは分かりませんが。 > > 先のコメントにもありましたが、タイムアウトはクライアント側がサーバへのGetResponseの応答を待たないだけですので、 > サーバ側の処理は継続されているものと思います。 > > どうしてもファイルを削除したい場合は、クライアント側のタイムアウト発生後、クライアント側のビジネスロジックから、 > 再度サーバにリクエストを送ってファイルを削除するしかないのではないでしょうか。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 【For.NET】ファイルアップロードタイムアウトについて (2011-08-19 20:53 by
Anonymous
#59197)
Reply
Create ticket
タイムアウトはクライアント側がサーバへのGetResponseの応答待たない事は理解しました。
ありがとうございます。
今回の場合、ファイルを削除する目的ではなく、ネットワーク帯域が占有される事が問題です。
大きいファイルのアップロードを行っており、タイムアウトが発生してもファイル送信が継続し
ネットワーク帯域が占有され続ける事が問題となっています。
ネットワーク帯域を占有しないように、ファイル送信を途中で止める方法はございませんか?
又、非同期処理も実装してみました。
独自のタイマーを使って、タイムアウトになったら、ExecuteAsyncCancel()でファイル送信を中止しようとしましたが、
やはりファイル送信が継続して、ネットワーク負荷がかかった状態です。
Reply to
#59187
Reply to #59197
×
Subject
Body
Reply To Message #59197 > タイムアウトはクライアント側がサーバへのGetResponseの応答待たない事は理解しました。 > ありがとうございます。 > > 今回の場合、ファイルを削除する目的ではなく、ネットワーク帯域が占有される事が問題です。 > > 大きいファイルのアップロードを行っており、タイムアウトが発生してもファイル送信が継続し > ネットワーク帯域が占有され続ける事が問題となっています。 > ネットワーク帯域を占有しないように、ファイル送信を途中で止める方法はございませんか? > > 又、非同期処理も実装してみました。 > 独自のタイマーを使って、タイムアウトになったら、ExecuteAsyncCancel()でファイル送信を中止しようとしましたが、 > やはりファイル送信が継続して、ネットワーク負荷がかかった状態です。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: 【For.NET】ファイルアップロードタイムアウトについて (2011-08-20 12:12 by
Anonymous
#59210)
Reply
Create ticket
クライアント側では制御できないと思うので、
サーバ側(IIS?)の接続タイムアウトを設定してみたらどうでしょうか?
Reply to
#59187
Reply to #59210
×
Subject
Body
Reply To Message #59210 > クライアント側では制御できないと思うので、 > サーバ側(IIS?)の接続タイムアウトを設定してみたらどうでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel