質問編集履歴

8

指摘あった部分を修正

2020/11/14 14:20

投稿

abetaf
abetaf

スコア1

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 割とレガシーな環境で、C#MVC(他サーバーへの通信含む)、jQueryで作られたサイトの開発をしております。
3
+ 割とレガシーな環境(既存の保守という意味)で、C#MVC(他サーバーへの通信含む)、jQueryで作られたサイトの開発をしております。
4
4
 
5
5
  Webページで非同期通信で読み込み中のコンテンツがある状況で、その読み込みを待たずに別の画面への遷移ボタンを押して画面遷移をさせたいです。
6
6
 
@@ -76,7 +76,9 @@
76
76
 
77
77
  他サーバーのHTTP通信を挟みます。
78
78
 
79
- .GetResponse()でブロック。
79
+ HttpWebRequest.GetResponse()でブロック。
80
+
81
+
80
82
 
81
83
 
82
84
 

7

説明を追加

2020/11/14 14:20

投稿

abetaf
abetaf

スコア1

test CHANGED
File without changes
test CHANGED
@@ -77,3 +77,15 @@
77
77
  他サーバーのHTTP通信を挟みます。
78
78
 
79
79
  .GetResponse()でブロック。
80
+
81
+
82
+
83
+ サーバ1、サーバ2の間で待ち合わせが発生。
84
+
85
+ 非同期処理なので、ブラウザ側は一部コンテンツに、実装されているローディングアイコンが表示され、本来の表示を待っている状況。
86
+
87
+ [browzer](jQueryx\ajax) ->|
88
+
89
+ 通信1-> [IISServer]ASP.NET MVC/C#(サーバ1) ->|
90
+
91
+ 通信2-> Othrer Server(REST API)(サーバ2)

6

タグを修正

2020/11/14 14:18

投稿

abetaf
abetaf

スコア1

test CHANGED
File without changes
test CHANGED
File without changes

5

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

2020/11/14 14:09

投稿

abetaf
abetaf

スコア1

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

4

2020/11/14 13:53

投稿

abetaf
abetaf

スコア1

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
28
28
 
29
- その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
29
+ その上で、サーバーサイドのGetResponse()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
30
30
 
31
31
 
32
32
 

3

2020/11/14 13:15

投稿

abetaf
abetaf

スコア1

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

2

2020/11/14 13:14

投稿

abetaf
abetaf

スコア1

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

1

2020/11/14 13:08

投稿

abetaf
abetaf

スコア1

test CHANGED
File without changes
test CHANGED
@@ -44,13 +44,21 @@
44
44
 
45
45
  処理が20秒を超える遅さです。
46
46
 
47
+
48
+
47
49
  この非同期処理が終わる前に、
48
50
 
49
51
  画面に準備されてる他画面へ移動するボタンを押した際、サーバーサイドのC#のコードが完了するまで、画面が移動できない状況となっております。
50
52
 
51
- サイトを参考、他画面へ遷移する為のボタンに保持しておいたjqXHRabort()を組み込んみて、ブラウザのF12開発機能のネットワークを、監視て、abortが飛んるのも確認しましたが、
53
+ (そもそも遅い部分改善の話は別進めてる為、話の中は無しでお願いします)
52
54
 
55
+
56
+
57
+ 他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
58
+
59
+ 保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
60
+
53
- 同期処理として組まれてるサーバーサイドが中断を拒む状況を生んでいます。
61
+ その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ち発生してしまい、中断を拒む状況を生んでいます。
54
62
 
55
63
 
56
64