首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝ServicedComponent服务器激活权限

拒绝ServicedComponent服务器激活权限
EN

Stack Overflow用户
提问于 2018-09-24 12:24:08
回答 1查看 78关注 0票数 0

我正试图在C#中开发一个组件,它将被C++客户端调用和使用。为此,我试图将其实现为服务器激活的ServicedComponent。

该组件如下所示:

代码语言:javascript
复制
[assembly: ApplicationName("Sample COM")]
[assembly: ApplicationID("3967FB64-686C-4F93-B866-B011FEE9A6AA")]
[assembly: AssemblyKeyFile("SampleCOM.snk")]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: Description("Testing ServicedComponents")]

namespace SampleCOM
{
    [ComVisible(true)]
    public interface ICalculator
    {
        double Add(double first, double second);
    }

    [ComVisible(true)]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("SampleCOM.Calculator")]
    [Guid("AA12A3DA-51A2-4F3D-90FF-E7C00E77800D")]
    public class Calculator : ServicedComponent, ICalculator
    {
        public double Add(double first, double second)
        {
            return first + second;
        }
    }
}

代码编译得很好(VS 2017),我可以使用以下方法注册它:

代码语言:javascript
复制
regsvcs /fc SampleCOM.dll

现在,我想看看它是如何工作的。为此,我使用了旧的、好的VB6.0代码:

代码语言:javascript
复制
Private Sub Command1_Click()
    On Error GoTo ErrorHandler

    Dim obj As SampleCOM.Calculator    
    Dim res As Double

    Set obj = CreateObject("SampleCOM.Calculator")

    res = obj.Add(1.2, 3.4)

    MsgBox "Done " & CStr(res)

    GoTo Cleanup   

ErrorHandler:
    MsgBox Err.Description

Cleanup:
    Set obj = Nothing
End Sub

而在这里,我无法让它发挥作用。CreateObject失败,客户端上的权限被拒绝错误。如果切换到激活,它可以正常工作,但是我需要让它脱离proc,所以服务器

在“事件日志”中,我可以看到以下条目:

特定于应用程序的权限设置不授予具有CLSID {AA12A3DA-51A2-4F3D-90FF-E7C00E77800D}和APPID {3967FB64-686C-4F93-B866-B011FEE9A6AA}的COM Server应用程序的本地激活权限。可以使用组件服务管理工具修改此安全权限。

我在DCOM Config下找不到相应的应用程序。

只有示例COM应用程序在COM+ Applications下面。但在那里,我不知道应该改变什么,才能使它发挥作用。

EN

回答 1

Stack Overflow用户

发布于 2018-09-25 09:13:30

最后,我添加了以下属性:

代码语言:javascript
复制
[assembly: ApplicationAccessControl(false)]

这使得强制对此应用程序进行访问检查(禁用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52479345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档