C#クラスをCOMに書きましたが、JavaScriptから使用できませんでした。例ActiveXObjectを使用してJavaScriptからC#Comクラスを作成する方法
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[ComSourceInterfaces(typeof(ICommandsEvents))]
[ProgId("Scripting.Commands")]
public class Commands : ICommands
{
public Commands()
{
}
public int CreateChannel(string channelName)
{
return 0;
}
public int GetChannelID(string channelName)
{
return CreateChannel(channelName);
}
public event ChannelEventsHandler OnChannelEvents;
}
[ComVisible(false)]
public delegate void ChannelEventsHandler(string a);
[ComVisible(true)]
[Guid("E2147768-8BA8-400b-8602-A1FDC31E6AA5")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface ICommands
{
[DispId(5)]
int CreateChannel(string channelName);
[DispId(6)]
int GetChannelID(string channelName);
}
[ComVisible(true)]
[Guid("22316373-A8DF-4ace-B48C-EA9953BD73FF")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface ICommandsEvents
{
[DispId(1)]
void OnChannelEvents(string a);
}
プロジェクトのプロパティの[COM相互運用機能に登録]チェックボックスをオンにしました。
私はこのようなJavaScriptからこれを作成したいとき。
var a = ActiveXObject( "Scripting.Commands");
「オートメーションサーバーでオブジェクトを作成できません」という例外が発生しています。私の間違いは何ですか?
は、この種のエラーの理由が多数あります