- - PR -
MTS(COMSVCS.dll)を使うトランザクション処理?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-03-16 20:43
簡単に言うとその DLL は ASP ページから CreateObject されて呼び出された場合にだけ動作するということです。
分からないなら無視してください。多分、問題ないはずです。 # COMSVCS.DLL は他にエクスポートされた関数として GetObjectContext を持っているので、 # それを使っていることはないかと思っただけです。 # Declare Function GetObjectContext Lib "COMSVCS.DLL" ... # なんてことはしてませんよね?
話がややこしくなるのでフォローしておきますが、 GetObjectContext は呼び出しているプログラム自身が COM+ コンポーネントとして登録されていなくても、 COM+ コンテキスト下で動作するプログラムから呼び出された場合にも成功します。 本件では ASP ページが COM+ コンテキストで動作するプログラムに該当します。 # ASP ページから呼び出されていないなら上記の登録は必要になりますが・・・。 # 恐らく元の会社もそんなに複雑なことはしていないでしょう。と | ||||||||||||
|
投稿日時: 2009-03-16 21:15
>IISのワーカープロセスはCOM+アプリケーション上で動作していましたので、 なるほど。 確かに話をややこしくしてしまいそうだし、スレ主さんからの情報待ちということで引っ込みます。すみません。 | ||||||||||||
|
投稿日時: 2009-03-18 02:22
お返事ありがとうございます。
簡単に言うとその DLL は ASP ページから CreateObject されて呼び出された場合にだけ動作するということです →確かにASPページからCreateObjectし、元の会社も複雑なことはしていませんので COM+ コンポーネントに登録はしていません。(登録されているか確認をしました) ただし今回はVB上でデバッグをしたかったのですがエラーとなってしまいました。 もしかするとVBでデバッグするためにはCOM+ コンポーネントに登録が必要ということに なるのでしょうか? 的外れなことを言っていたらすみません。 | ||||||||||||
|
投稿日時: 2009-03-18 22:11
なかなか鋭い読みだと思います。 が、そこまでする必要はありません。 クラスモジュールの MTSTransactionMode プロパティを 0 - NotAnMTSObject 以外に設定し、プロジェクトプロパティのデバッグタブで「コンポーネントが作成されるまで待機する」を設定してプログラムを開始すれば、デバッグは可能です。 上記で駄目な場合(ほぼ確実に駄目でしょうが)、以下のKBが参考になるかと。 http://support.microsoft.com/kb/244457/JA/ http://support.microsoft.com/kb/259725/JA/ | ||||||||||||
|
投稿日時: 2009-03-19 00:53
返信ありがとうございます。
いただいたアドバイスを実行して確認してみます。 少し、時間をいただきたいと思いますが確認後また 報告させていただきます。 いろいろとアドバイスいただき大変助かっています。 ありがとうございます。 | ||||||||||||
|
投稿日時: 2009-04-01 21:12
返信、遅くなりすみませんでした。
クラスモジュールの MTSTransactionMode プロパティを 0 - NotAnMTSObject 以外に設定し、プロジェクトプロパティのデバッグタブで「コンポーネントが作成されるまで待機する」を設定してプログラムを開始すれば、デバッグは可能です →試してみましたがダメでした。 また参考にもらったURLも見て必要なことはやってみましたが 結果変わらず。 半分あきらめています。。。 今までいろいろとアドバイスを頂きありがとうございました。 |