xxxxプログラマのメモ

先人に感謝と敬意

IIS のアプリケーションから共有フォルダにファイルを作成

ASP.NET WebAPI から共有フォルダに書き込みができなかったので。

共有フォルダにアクセス可能なユーザーでアプリケーションプールは実行されているのに
とおもっていたら、設定が漏れていた。

調べていると色々書いてあったが、そんなものは捨てて以下を試してみては?

「ユーザープロファイルの読み込み」
アプリケーション プール ID

ユーザー プロファイル
IIS では Windows ユーザー プロファイルの読み込みを行いませんが、特定のアプリケーションでは、たとえば一時的なデータの格納場所などとして利用する可能性があります。 このようなアプリケーションの例に SQL Express があります。 ただし、一時データをプロファイル ディレクトリまたはレジストリ ハイブに格納するには、ユーザー プロファイルを作成する必要があります。 従来の方法では、NETWORKSERVICE アカウント用のユーザー プロファイルがシステムによって作成され、常に使用可能でしたが、 一意のアプリケーション プール ID への切り替えを行う場合は、システムによってユーザー プロファイルは作成されません。 標準のアプリケーション プール (DefaultAppPool および Classic .NET AppPool) のみがディスクにユーザー プロファイルを保持しています。管理者が新たなアプリケーション プールを作成する場合、ユーザー プロファイルは作成されません。
[loadUserProfile] を "true" に設定することによって、ユーザー プロファイルを読み込むように IIS アプリケーション プールを構成できます。

f:id:hiromatsu28:20171120093858p:plain