回答編集履歴
3
追記
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
> ゲスト以外でログインしているにも関わらず、「登録ボタン」が表示されない。
|
6
6
|
|
7
|
-
・・・となるというようなことではないかと想像しています。
|
7
|
+
・・・となるというようなことではないかと想像しています。(下の**【追記】**参照)
|
8
8
|
|
9
9
|
なので、isVisible を使わないようにして検証してみてはいかがですか?
|
10
10
|
|
@@ -20,10 +20,14 @@
|
|
20
20
|
If CInt(Session(USER_KENGENN)) <= 1 Then
|
21
21
|
btnTouroku.Visible = False
|
22
22
|
Else
|
23
|
-
btnTouroku.Visible =
|
23
|
+
btnTouroku.Visible = True
|
24
24
|
End If
|
25
25
|
```
|
26
26
|
|
27
27
|
本題とは関係ないですが、Session(USER_KENGENN) を評価する前に Nothing でないことを確認した方がよさそうです。
|
28
28
|
|
29
|
-
あと、これもコメントに述べたことですが、認証方式は独自実装のようですが、どうしても独自認証にしなければならない理由がなければ、ASP.NET に標準で備わっている認証方式(ASP.NET Identity など)を使用することをお勧めします。
|
29
|
+
あと、これもコメントに述べたことですが、認証方式は独自実装のようですが、どうしても独自認証にしなければならない理由がなければ、ASP.NET に標準で備わっている認証方式(ASP.NET Identity など)を使用することをお勧めします。
|
30
|
+
|
31
|
+
**【追記】**
|
32
|
+
|
33
|
+
ASP.NET Web アプリは、ユーザーから要求があるたびにスレッドプールからスレッドを取得してきてその要求を処理します。つまり、複数のユーザーから同時に要求を受けるとユーザー毎に複数のスレッドを使って要求を処理をするというマルチスレッドアプリです。なので、ASP.NET Web アプリで Shared 使うと上に書いたような問題が起こり得ます。使わないようにしましょう。
|
2
訂正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
全体が見えないので断定的なことは言えませんが、上のコメントで書いたように、isVisible が Shared になっているところが問題ではないかと思います。
|
2
2
|
|
3
|
-
例えば、ユーザー A(ゲスト)とユーザー B(一般または特権)が同時にアクセスしてきた場合、isVisible が Shared(A と B がシェアして使う)なので、A が isVisible を False に書き換えた直後に B
|
3
|
+
例えば、ユーザー A(ゲスト)とユーザー B(一般または特権)が同時にアクセスしてきた場合、isVisible が Shared(A と B がシェアして使う)なので、A が isVisible を False に書き換えた直後に B がアクセスした結果、
|
4
4
|
|
5
5
|
> ゲスト以外でログインしているにも関わらず、「登録ボタン」が表示されない。
|
6
6
|
|
1
訂正
answer
CHANGED
@@ -26,4 +26,4 @@
|
|
26
26
|
|
27
27
|
本題とは関係ないですが、Session(USER_KENGENN) を評価する前に Nothing でないことを確認した方がよさそうです。
|
28
28
|
|
29
|
-
あと、これもコメントに述べたことですが、認証方式は独自実装のようですが、どうしても独自認証にしなければならない理由がなければ、ASP.NET に標準で備わっている認証方式(ASP.NET Identity など)を
|
29
|
+
あと、これもコメントに述べたことですが、認証方式は独自実装のようですが、どうしても独自認証にしなければならない理由がなければ、ASP.NET に標準で備わっている認証方式(ASP.NET Identity など)を使用することをお勧めします。
|