回答編集履歴

3

追記&訂正

2021/03/16 02:16

投稿

退会済みユーザー
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- 開発マシンで Visual Stusio から ASP.NET Web アプリを IIS Express 上で実行したときのユーザー対話モードとワーカープロセスのアカウントがどうなるかですが、それぞれ以下の画像の赤枠と青枠の通りとなります。
37
+ 開発マシンで Visual Studio から ASP.NET Web アプリを IIS Express 上で実行したときのユーザー対話モードとワーカープロセスのアカウントがどうなるかですが、それぞれ以下の画像の赤枠と青枠の通りとなります。
38
38
 
39
39
 
40
40
 

2

追記&訂正

2021/03/16 02:16

投稿

退会済みユーザー
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- 開発マシンで Visual Stusio から ASP.NET Web アプリを IIS Express 上で実行したときは問題なく動くが、IIS にデプロイすると動かなくなるということの原因は、
9
+ 開発マシンで Visual Studio から ASP.NET Web アプリを IIS Express 上で実行したときは問題なく動くが、IIS にデプロイすると動かなくなるということの原因は、
10
10
 
11
11
 
12
12
 

1

追記

2021/03/16 02:15

投稿

退会済みユーザー
test CHANGED
@@ -19,3 +19,71 @@
19
19
 
20
20
 
21
21
  のいずれかということがほとんどです。そのあたりから調査してみてください。
22
+
23
+
24
+
25
+ **【追記】**
26
+
27
+
28
+
29
+ 下のコメント欄の 2021/03/16 11:01 の私のコメントで「回答欄に詳しい情報を追記しますので参考にしてください」と書いた件です。
30
+
31
+
32
+
33
+ 上の回答の (1), (2) が IIS Express と IIS でどう異なるかの情報を追記します。
34
+
35
+
36
+
37
+ 開発マシンで Visual Stusio から ASP.NET Web アプリを IIS Express 上で実行したときのユーザー対話モードとワーカープロセスのアカウントがどうなるかですが、それぞれ以下の画像の赤枠と青枠の通りとなります。
38
+
39
+
40
+
41
+ ![イメージ説明](c9d1148782b166ada56f0b5e3450ed4f.jpeg)
42
+
43
+
44
+
45
+ 開発マシン DESKTOP-6F7C2QA に surfe という管理者アカウントでログインし、そのアカウントで Visual Studio を立ち上げて ASP.NET Web Forms アプリを IIS Express 上で動かしたものです。
46
+
47
+
48
+
49
+ IIS Express のワーカープロセスのアカウントが surfe という管理者アカウントになっていて、それゆえ Environment.UserInteractive が ture すなわちユーザー対話モードになっているのが分かりますか?
50
+
51
+
52
+
53
+ 同じアプリのフォルダを開発マシンのローカル IIS でサイトに設定し、アプリケーションプールの名前を WebFromsEmpty に設定します。
54
+
55
+
56
+
57
+ ![イメージ説明](db77d0f2eefdff55b0f25c4fc76deea2.jpeg)
58
+
59
+
60
+
61
+ それをローカル IIS で動かすとユーザー対話モードとワーカープロセスのアカウントは以下のようになります。
62
+
63
+
64
+
65
+ ![イメージ説明](9c8aa2278494ba4e1f75cea5872746be.jpeg)
66
+
67
+
68
+
69
+ 以下の記事に書いてある通り、ワーカープロセスのアカウントが IIS AppPool\<アプリケーションプール名> となっているのが分かりますか? ユーザー対話モードでは動いてないというのが分かりますか?
70
+
71
+
72
+
73
+ アプリケーション プール ID
74
+
75
+ [https://docs.microsoft.com/ja-jp/previous-versions/ee886292(v=technet.10)](https://docs.microsoft.com/ja-jp/previous-versions/ee886292(v=technet.10))
76
+
77
+
78
+
79
+
80
+
81
+ IIS AppPool\<アプリケーションプール名> というアカウントにはアクセス権は一切ないのですが、ASP.NET が動くようにするには少なくともサイトのフォルダに対して読み取り権限を持ってなければなりません。
82
+
83
+
84
+
85
+ そこはどうしたかというと、以下の通りワーカープロセスのアカウントが属するグループ IIS_IUSRS に権限を与えています(注: wwwroot は特別でそれには最初からアクセス権が設定済みです)。
86
+
87
+
88
+
89
+ ![イメージ説明](785d6e74492d49fd5964fd785dc3a349.jpeg)