teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

指摘あった部分を修正

2020/11/14 14:20

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- 割とレガシーな環境で、C#MVC(他サーバーへの通信含む)、jQueryで作られたサイトの開発をしております。
2
+ 割とレガシーな環境(既存の保守という意味)で、C#MVC(他サーバーへの通信含む)、jQueryで作られたサイトの開発をしております。
3
3
  Webページで非同期通信で読み込み中のコンテンツがある状況で、その読み込みを待たずに別の画面への遷移ボタンを押して画面遷移をさせたいです。
4
4
 
5
5
  ### 発生している問題
@@ -37,8 +37,9 @@
37
37
  クライアント要求後、
38
38
  サーバーサイドにて
39
39
  他サーバーのHTTP通信を挟みます。
40
- .GetResponse()でブロック。
40
+ HttpWebRequest.GetResponse()でブロック。
41
41
 
42
+
42
43
  サーバ1、サーバ2の間で待ち合わせが発生。
43
44
  非同期処理なので、ブラウザ側は一部コンテンツに、実装されているローディングアイコンが表示され、本来の表示を待っている状況。
44
45
  [browzer](jQueryx\ajax) ->|

7

説明を追加

2020/11/14 14:20

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -37,4 +37,10 @@
37
37
  クライアント要求後、
38
38
  サーバーサイドにて
39
39
  他サーバーのHTTP通信を挟みます。
40
- .GetResponse()でブロック。
40
+ .GetResponse()でブロック。
41
+
42
+ サーバ1、サーバ2の間で待ち合わせが発生。
43
+ 非同期処理なので、ブラウザ側は一部コンテンツに、実装されているローディングアイコンが表示され、本来の表示を待っている状況。
44
+ [browzer](jQueryx\ajax) ->|
45
+ 通信1-> [IISServer]ASP.NET MVC/C#(サーバ1) ->|
46
+ 通信2-> Othrer Server(REST API)(サーバ2)

6

タグを修正

2020/11/14 14:18

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
File without changes

5

タイトルが分かりにくかった為

2020/11/14 14:09

投稿

abetaf
abetaf

スコア1

title CHANGED
@@ -1,1 +1,1 @@
1
- jQueryのajaxのasync:trueをabortしてc#のHttp通信中断したい
1
+ 非同期通信中断したい
body CHANGED
File without changes

4

2020/11/14 13:53

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
  ### 試したこと
13
13
  他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
14
14
  保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
15
- その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
15
+ その上で、サーバーサイドのGetResponse()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
16
16
 
17
17
  試しにサーバーサイドもざっくりで非同期処理に変えてみましたが、返却したい情報の部分を参照(Task.Result)することで、結局ブロックされてしまうように感じました。
18
18
 

3

2020/11/14 13:15

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- 割とレガシーな環境で、C#、jQueryで作られたサイトの開発をしております。
2
+ 割とレガシーな環境で、C#MVC(他サーバーへの通信含む)、jQueryで作られたサイトの開発をしております。
3
3
  Webページで非同期通信で読み込み中のコンテンツがある状況で、その読み込みを待たずに別の画面への遷移ボタンを押して画面遷移をさせたいです。
4
4
 
5
5
  ### 発生している問題

2

2020/11/14 13:14

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,26 @@
1
+ ### 前提・実現したいこと
1
2
  割とレガシーな環境で、C#、jQueryで作られたサイトの開発をしております。
3
+ Webページで非同期通信で読み込み中のコンテンツがある状況で、その読み込みを待たずに別の画面への遷移ボタンを押して画面遷移をさせたいです。
2
4
 
5
+ ### 発生している問題
6
+ コンテンツの読み込みが完了しきるまで、画面遷移など通信を挟む処理が動作しません。(静的な部分は動作します)
7
+
8
+ ### 状況
9
+ 上記Webページの一部コンテンツの取得が20秒を超える遅さで、この非同期処理が終わる前に、画面に準備されてる他画面へ移動するボタンを押した際、サーバーサイドのC#のコードが完了するまで、画面が移動できない状況となっております。
10
+ (そもそも遅い部分の改善の話は別に進めてる為、この話の中では無しでお願いします)
11
+
12
+ ### 試したこと
13
+ 他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
14
+ 保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
15
+ その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
16
+
17
+ 試しにサーバーサイドもざっくりで非同期処理に変えてみましたが、返却したい情報の部分を参照(Task.Result)することで、結局ブロックされてしまうように感じました。
18
+
19
+ ### 質問
20
+ javascriptの非同期キャンセルを組み込んでも、サーバーサイド側でも何らかの対処を入れないと、処理は中断できないのでしょうか
21
+
22
+ ### 補足情報
23
+
3
24
  クライアントサイド
4
25
  対応ブラウザ IE11
5
26
  Javascript Ajax通信周り
@@ -16,21 +37,4 @@
16
37
  クライアント要求後、
17
38
  サーバーサイドにて
18
39
  他サーバーのHTTP通信を挟みます。
19
- .GetResponse()でブロック。
40
+ .GetResponse()でブロック。
20
-
21
-
22
- とあるWEBページで、ホーム画面を表示する際、表示内容の一部をajaxで非同期通信をして取得しています。
23
- 処理が20秒を超える遅さです。
24
-
25
- この非同期処理が終わる前に、
26
- 画面に準備されてる他画面へ移動するボタンを押した際、サーバーサイドのC#のコードが完了するまで、画面が移動できない状況となっております。
27
- (そもそも遅い部分の改善の話は別に進めてる為、この話の中では無しでお願いします)
28
-
29
- 他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
30
- 保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
31
- その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
32
-
33
- そこで、識者の方へ質問です。
34
- javascriptの非同期キャンセルを組み込んでも、サーバーサイド側でも何らかの対処を入れないと、処理は中断できないのでしょうか。
35
-
36
- 試しにサーバーサイドもざっくりで非同期処理に変えてみましたが、返却したい情報の部分を参照(Task.Result)することで、結局ブロックされてしまうように感じました。

1

2020/11/14 13:08

投稿

abetaf
abetaf

スコア1

title CHANGED
File without changes
body CHANGED
@@ -21,11 +21,15 @@
21
21
 
22
22
  とあるWEBページで、ホーム画面を表示する際、表示内容の一部をajaxで非同期通信をして取得しています。
23
23
  処理が20秒を超える遅さです。
24
+
24
25
  この非同期処理が終わる前に、
25
26
  画面に準備されてる他画面へ移動するボタンを押した際、サーバーサイドのC#のコードが完了するまで、画面が移動できない状況となっております。
26
- 他のサイトを参考に、他画面へ遷移する為のボタンに、保持しておいたjqXHRのabort()を組み込んでみて、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しましたが、
27
- 同期処理とし組まれてサーバーサイドが断を拒む状況を生んでいます
27
+ (そもそも遅い部分の改善の話は別に進めてる為、この話の中では無しでお願ます)
28
28
 
29
+ 他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
30
+ 保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
31
+ その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
32
+
29
33
  そこで、識者の方へ質問です。
30
34
  javascriptの非同期キャンセルを組み込んでも、サーバーサイド側でも何らかの対処を入れないと、処理は中断できないのでしょうか。
31
35