- PR -

ASP.NETとCOM+

1
投稿者投稿内容
zzz
会議室デビュー日: 2002/06/03
投稿数: 2
投稿日時: 2002-06-03 12:10
初めて投稿します。宜しくお願い致します。

ASP.NETからリモートに配置したVB5作成のCOM(ActiveX DLL)を呼び出したく、リモートの
COM+に登録して試してみましたがうまく動きません。環境は以下の通りです。

 Client:Windows2000Pro(SP2)
Visual Studio .NET(製品版)

 Server:Windows2000Srv(SP2)

ClientのIIS/ASP.NETから、Serverのコンポーネントサービスに登録したVB5作成のDLLを呼び
出そうとしています。
Serverでのコンポーネントの登録/エクスポートと、Clientでのインポートは正常に行えている
と思います。
(VB.NETのWindowsアプリケーション、旧ASPのCreateObjectでの呼び出し等、ASP.NET以外
からの呼出はうまく行きます。)

ASP.NETで失敗する時ですが、参照設定でCOMを追加して、プロパティの「ローカルコピー」
をtrueにすると「QueryInterfaceに失敗しました」というエラーになり、falseに設定すると
「FileNotFoundException」エラーになります。

実は旧ASPもCOM+も業務で使用したことが無いので的外れな質問かもしれませんが、解決方法
をご存知の方がいらっしゃいましたらご教示ください。
宜しくお願い致します。

ふうすけ
常連さん
会議室デビュー日: 2002/02/21
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2002-06-05 14:47
はずしているかも知れませんが…

 ASP.NETの実行ユーザ(…ええっと…資料が遠い…参照できないのですが…)にDCOMを使うアクセス権が無いのでは無いでしょうか。
 もしくはDCOMで行った先で権限が無いか、その辺りの確認はされましたか?

 ASP.NETとASPでは実行ユーザが異なりますのでWinFormから動作する事の確認で.Netからの利用が確認でき、ASPから動作する事の確認でIISからの動作(サービスコンテキストでの動作というべきか)が確認できているのであれば実行ユーザの権限、セキュリティ系を疑った方が良いです。
 
zzz
会議室デビュー日: 2002/06/03
投稿数: 2
投稿日時: 2002-06-06 15:16
ふうすけさんありがとうございます。

セキュリティですか・・・。ASP(.NET)もDCOM(COM+)も素人でして、セキュリティ関連もまだ分からないないことが多いのでもう少し調べてみます。

無い頭をひねって考えを纏めましたのは、

・ASP.NETを実行するアカウントはMACHINE.CONFIGで指定するものですよね。ということは、リモートにあるCOM+アプリケーションの動作を要求するのは上記で指定したアカウントになりますよね。

・ただしリモートにあるCOM+アプリケーションは、リモートサーバのCOM+サービスで指定したアカウントで動作しますよね。

ということで、取りあえず調べてみます。いきなり考えが違っていたらご指摘頂ければありがたいです。

では!


1

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