我需要分配什么样的权限?

时间:2009-08-13 19:54:45

标签: .net sql-server reporting-services

我正在Reporting Service 2005做一些工作。我需要调用一个COM对象,所以我将调用包装在自定义程序集中。该方法在预览中有效。但是当我部署报告时,我遇到了#Error。微软对此有一个KB article

它说我必须在自定义程序集中声明权限。

但我不知道我应该断言什么许可?我的方法如下:

public static String myEnocde(String strDataToEncode)
{
    //Get IDispatch Interface
    Type objEncoderType = Type.GetTypeFromProgID("ProgID");

    //Create Instance
    object objEncoder = Activator.CreateInstance(objEncoderType);

    // parameter
    object[] parameters = new Object[1];
    parameters[0] = strDataToEncode;

    try
    {
        //Invoke Encode
        Object resultObject = objEncoder.GetType().InvokeMember("Encode", BindingFlags.InvokeMethod,
            Type.DefaultBinder, objEncoder, parameters);

        String strResult = (String)resultObject;

        return strResult;
    }
    catch( Exception theException ) 
    {
        <more code here>
    }
}

代码动态启动COM对象,并使用后期绑定调用其方法。

我在CodeGroup中添加了rssrvpolicy.config。该字段仍然显示'#Error'。

1 个答案:

答案 0 :(得分:1)

要运行报告,进行呼叫的用户必须具有“浏览器”角色。参见:

http://www.odetocode.com/Articles/215.aspx