- PR -

Webサービスからレジストリ操作

1
投稿者投稿内容
aoi
会議室デビュー日: 2004/09/16
投稿数: 16
投稿日時: 2004-09-21 17:28
お世話になります。

Webサービスからサーバのレジストリ操作を行いたいのですが、下記のようなコードを実装し、
サブキーを取得しようとすると、Nothingが返却されてしまいます。

<WebMethod()> _
Public Function getReg() As String
Try
Dim key As Microsoft.Win32.RegistryKey
key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(サブキー)
Dim name As String = CType(key.GetValue(値の名前), String)
'閉じる
getReg = name

key.Close()
Catch ex As Exception
getReg = ex.Message
End Try


指定したサブキーが存在しないのかとも思ったのですが、同様のコードをWindowsアプリケーションで動作確認してみると、正常に値が返却されます。

WindowsアプリケーションとWebサービスでは、レジストリ操作について何か異なる点があるのでしょうか?
何かご指摘いただければ幸いです。
よろしくお願いいたします。

動作環境
Windows2000
VB.NET


[ メッセージ編集済み 編集者: aoi 編集日時 2004-09-21 17:30 ]
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-09-22 15:55
引用:

aoiさんの書き込み (2004-09-21 17:28) より:

key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(サブキー)

指定したサブキーが存在しないのかとも思ったのですが、同様のコードをWindowsアプリケーションで動作確認してみると、正常に値が返却されます。


Webサービス(ASP.NET)を実行しているWindowsユーザは何でしょう?
CurrentUserは現在のユーザのレジストリを取得しますよね?
aoi
会議室デビュー日: 2004/09/16
投稿数: 16
投稿日時: 2004-09-22 17:50
なちゃさん返信ありがとうございました。

Web.configでは特にユーザーを指定しなかったので、Windowsの一般ユーザーで実行しているのではないかと思っていたのですが、どうもそうではないようですね・・・

問題解決とは言えないかも知れませんが、Web.configでidentity要素にユーザーを指定すると、正常に値が返されるようです。
なちゃさんの仰るように、ユーザー関連の問題だったのだと思います。
ご指摘ありがとうございました。




1

スキルアップ/キャリアアップ(JOB@IT)