[Seasar-s2dotnet 71] ASP.NETでの分散トランザクションの利用

Kazuya Sugimoto sugimoto
2005年 8月 24日 (水) 23:08:29 JST


杉本です。

[Seasar-s2dotnet 22] から話題になっていた、ASP.NETでの
分散トランザクション利用についてまとめます。
遅くなりました。m(_ _)m

s2dotnetに限った話では無いのですが、ASP.NET環境で
分散トランザクションを利用するためには、machine.configの
configuration/system.web/processModel要素のuserName属性
を"machine"から"system"に変える必要があります。

machine.configは、下記のフォルダにあります。
※環境により違います。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG

ここで変更するuserName属性はASP.NETのプロセスアカウントです。
"machine"はASP.NETインストール時に自動的に作成されている
ASPNETというユーザーです。

"system"に変更すると、プロセスが管理者アカウントとして実行され、
管理者権限でプロセスが実行されます。

アセンブリをCOM+カタログにインストールする際に、ASPNETユーザー
では権限が不足しているためです。

processModel要素(セクション)の設定は、サーバー上で実行される
全てのASP.NETアプリケーションに適用されるので、ご注意ください。

他にももっと適切に権限を与える方法もあると思いますが、
現在確認できている方法は上記の通りです。

間違いがありましたら、つっこみお願いします。
# そういえばこのケースだとアセンブリに署名していなくても権限与えれば
# 分散トランザクションが利用できてますね。

--
Kazuya Sugimoto
http://d.hatena.ne.jp/sugimotokazuya/


seasar-dotnet メーリングリストの案内