- - PR -
ASP.NET2.0からVBで作成したDLLの参照
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-03-26 16:07
標記の件ですが、
現在ASP.NET2.0(C#)で作成しているPGから、VBで作成したDLLファイルを参照し、実行した所、下記のようなエラーが表示されます。 DLL(VBで作成)自体は、VB.NETやC#.NET上から実行できるのを確認しているのですが、 ASP.NET上から実行しようとするとエラーが表示されます。 DLL内容は、OLEをCreateObjectで生成し、実行しています。 色々調べたりしましたが、原因分からず・・・。 どなたか、解決方法が分かる方がおられましたら、教えて下さい。 お願いします。 【エラー内容】 ActiveX コンポーネントを作成できません。 説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。 例外の詳細: System.Exception: ActiveX コンポーネントを作成できません。 スタック トレース: ************************************************************************** [Exception: ActiveX コンポーネントを作成できません。] Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String ServerName) +200 AAAAA.BBBBB.CCCCC(input_path,output_path,output_name,Output_File_type) System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061 ************************************************************************** |
|
投稿日時: 2007-03-27 00:25
目的のActiveX コンポーネントが MTA スレッド では動作しないのが原因ではないでしょうか?
通常のC#のWindowsアプリケーションでは STAスレッドで動作しているので、そこで動作するからといってASP.NETはデフォルトでは MTAスレッドなので動作しない可能性が大です。 ASP.NET COM STA で検索すると http://msdn2.microsoft.com/ja-jp/library/5dws599a(VS.80).aspx 「ASP.NET では、既定で、STA COM コンポーネントをページ内で実行できません。 COM コンポーネントを実行するには、.aspx ファイル内の @ Page ディレクティブに ASPCompat=true 属性を含める必要があります。」 とか 「[PRB] ASP.NET の ASPCOMPAT モードでコンストラクタから STA コンポーネントを作成するとパフォーマンスが低下する」 http://support.microsoft.com/kb/308095/ja が見つかります。 ASP.NET で ActiveX コンポーネントを利用する場合は、十分注意が必要だと思います。 |
|
投稿日時: 2007-03-29 09:18
k_kazu様
ご返答有難うございます。 「.aspx」 ファイル内の @ Page ディレクティブに ASPCompat="true"を付加しましたが、駄目でした。結果は同じでした。 言われるように、WindowsAPP(C#)では動作し、ASP.NET2.0(C#)では動作しないとなると、考えられるのは、参照対象PGが[STA COM コンポーネント]であるために、ASP.NETから実行できないから。の可能性が大きい!!と期待したのですが。。。 他の原因は何か考えられないでしょうか? |
|
投稿日時: 2007-03-29 14:40
可能性というだけですが、権限関係は大丈夫ですか?
COMを作成する権限、またCOM自体がアクセスするリソースへのアクセス権限はありますか? _________________ かるあ のメモ と スニペット |
1