我写了一个简单的 ServicedComponent
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.EnterpriseServices;
namespace ComPlusServer
{
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("9C674ECA-1B71-42EA-9DB2-9A0EA57EC121")]
[Description("Hello Server")]
public class HelloServer : ServicedComponent
{
[Description("Say Hello!")]
public String SayHello()
{
return "Hello!, ";
}
}
}
和一个 Windows 窗体应用程序
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ComPlusServer;
namespace Client
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
HelloServer server = new HelloServer();
MessageBox.Show(server.SayHello(), "Message from HelloServer");
}
}
}
在组件服务 MMC 上,在应用程序属性、安全选项卡上,我将调用的身份验证级别降低为无,并降低模拟级别以识别和取消选中在授权时对此应用程序执行访问检查。
我不断收到 ServicedComponentException 异常说
方法级基于角色的安全性需要类方法的接口定义。
对此有任何想法吗?