我正在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'。