WMI Fun !! 〜 WMIに興味がある方・システム管理者必見!! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|My Let'snote|Personal|Link|About WMI Fun !!

WMI Fun !! > Personal > レガシーASPから.Net(VB)で作成したdllなCOM(クラスライブラリ)を使用するメモ(WSDLとかWCFとか)

Panasonic Let'snoteを長年愛用しています、その理由はMy Let'snoteで…
インクを買うよりもしかしたら安い?インクジェット複合機HP Photosmart 5510
白いご飯や日本酒にもとても合うにしんのきりこみがマイブームです

レガシーASPから.Net(VB)で作成したdllなCOM(クラスライブラリ)を使用するメモ(WSDLとかWCFとか)

はじめに…

レガシーASPからWSDLが提供されているWebサービスを参照する必要が出てきたので個人的に調べている内容をメモ。 レガシーASPで作成してあるアプリケーションに不都合などは一切無いため、 VS.Net(VB2010)でレガシーASPから使用できるActiveX(COMコンポーネント)を作成することに。 でもスムーズに行かないのでちょっとメモ書き。 ちなみにWSDL自身は.Net上exeファイルにすれば動作は問題なしを前提。


メモ

VB2010からクラスライブラリを選択してソリューションを作成
ソリューションのプロパティからコンパイル、COM相互運用機能の登録を選択
クラスを定義してdllを作成、WSDL取り込み前の状態でレガシーASPからCOMの参照OKを確認
サービス参照の追加をする、ここでWSDLを登録
dllを作成してレガシーASPからCOMを参照すると実行できない…。
どうやらいろいろ調べてみるとWCFが作成するdll.configが読み込まれないことが原因らしい。
もちろんexeファイルにすれば問題なく動作するのでクラスライブラリでdllを作成する際のある意味仕様なのかも…。

レガシーASPでは動かなかったけどWSH環境からであれば無理やり実行できました。
cscript.exeやwscript.exeに対して.configファイルを作成する形です。
(dll.configファイルをcscript.exe.configやwscript.exe.configに書き換え。)
なんとかこれをヒントにレガシーASPでも同じことが出来ないか悩みましたが、 inetinfo.exeとdllhost.exe.configに対して上記のパターンと同様に.configファイルを用意したところ動作することがわかりました。
(dll.configファイルをinetinfo.exe.configやdllhost.exe.configに書き換え。)
ただし私の環境ですとC:\windows\tempフォルダにIWAM_XXXアカウントとIUSR_XXXアカウントにアクセス権をつける必要がありそうです。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMIに関して調べているけど探し物が見つからない…という方はSearch Resultから検索してみましょう!!

MCP(Microsoft Certified Professional)一応MCP(Microsoft Certified Professional)、MCA(Microsoft Certified Associate)所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft社のテクノロジーであるWMI(Windows Management Instrumentation)の使い方を
Visual Basicを使ってのんびり公開しています
WMIはVB/VBAや.Net(VB,C#)以外でもWMICやWSH(VBS,JS)・PowerShellなどスクリプト言語からも使えますよ!
Windowsベースの社内ITシステムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発にWMIはお勧めです

This website is created by Toh.
Copyright(C) 1997-2012 WMI Fun !!. All rights reserved.
WMI Fun !!へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします。

∧ ページの先頭へ…