質問編集履歴
8
指摘あった部分を修正
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
説明を追加
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
タグを修正
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
5
タイトルが分かりにくかった為
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
非同期通信を中断したい
|
test
CHANGED
File without changes
|
4
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
|
28
28
|
|
29
|
-
その上で、サーバーサイドのGetRespons
|
29
|
+
その上で、サーバーサイドのGetResponse()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
|
30
30
|
|
31
31
|
|
32
32
|
|
3
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
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
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
|
-
|
53
|
+
(そもそも遅い部分の改善の話は別に進めてる為、この話の中では無しでお願いします)
|
52
54
|
|
55
|
+
|
56
|
+
|
57
|
+
他のサイトを参考に、他画面へ遷移する為のボタンに、非同期処理をキャンセルするものを組み込んでみました。
|
58
|
+
|
59
|
+
保持しておいたjqXHRのabort()を組みこみ、ブラウザのF12開発機能のネットワークを、監視して、abortが飛んでるのも確認しました。
|
60
|
+
|
53
|
-
|
61
|
+
その上で、サーバーサイドのGetResponsn()している同期処理部分で、処理待ちが発生してしまい、中断を拒む状況を生んでいます。
|
54
62
|
|
55
63
|
|
56
64
|
|