I am working on putting together a custom delivery extension (fax delivery)
based on the built-in File Share delivery extension.
Most of the functionality I need already exists in the File Share delivery
extension so I used the Lutz Roeder's .NET Reflector to disassemble the
ReportingServicesFileShareDeliveryProvider.dll and then built my own assembly
which essentially mimics the ReportingServicesFileShareDeliveryProvider.dll.
I changed two class names, the FileShareProvider and FileShareUIControl
classes are known in my assembly as FaxProvider and FaxUIControl.
Once I had all the functionality of the
ReportingServicesFileShareDeliveryProvider.dll (I have only changed the two
class names and replaced references to them with the new names) I attempted
to deploy my assembly as a custom delivery extension so that I can test that
I have attained the same functionality as the
ReportingServicesFileShareDeliveryProvider.dll. This is where I run into
problems.
I see the following in my log files for RS:
aspnet_wp!extensionfactory!15ec!08/17/2005-14:45:59:: e ERROR: Exception
caught instantiating report server extension:
System.Reflection.TargetInvocationException: Exception has been thrown by the
target of an invocation. --> System.TypeInitializationException: The type
initializer for "FaxDeliveryProvider.FaxProvider" threw an exception. -->
System.Security.SecurityException: Request for the permission of type
System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
at FaxDeliveryProvider.FaxProvider..cctor()
The state of the failed permission was:
<IPermission
class="System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736AD6E5F9586BAC2D531EABC3ACC666C2F8EC879FA94F8F7B0327D2FF2ED523448F83C3D5C5DD2DFC7BC99C5286B2C125117BF5CBE242B9D41750732B2BDFFE649C6EFB8E5526D526FDD130095ECDB7BF210809C6CDAD8824FAA9AC0310AC3CBA2AA0523567B2DFA7FE250B30FACBD62D4EC99B94AC47C7D3B28F1F6E4C8"/>
-- End of inner exception stack trace --
-- End of inner exception stack trace --
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder
binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr,
Binder binder, Object[] args, CultureInfo culture, Object[]
activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName, Boolean
ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args,
CultureInfo culture, Object[] activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String extensionName, String extensionType).
I have been doing some research and I know that the built in delivery file
share delivery extension usese strong name security instead of URLMembership
security...but I am not sure what I need to do or what changes I need to
make to my config files to get around this. ANY HELP would be much
appreciated...
The following are the changes to the configuration files I made during
deployment:
RSReportServer.config
Added:
<Extension Name="Report Server Fax Delivery Extension"
Type="FaxDeliveryProvider.FaxProvider,FaxDeliveryProvider">
<MaxRetries>0</MaxRetries>
<SecondsBeforeRetry>900</SecondsBeforeRetry>
<Configuration>
<FileShareConfiguration>
<ExcludedRenderFormats>
<RenderingExtension>HTMLOWC</RenderingExtension>
<RenderingExtension>NULL</RenderingExtension>
</ExcludedRenderFormats>
</FileShareConfiguration>
</Configuration>
</Extension>
rssrvpolicy.config
Added:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="FaxDeliveryCodeGroup"
Description="Code group for my delivery extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
Services\ReportServer\bin\FaxDeliveryProvider.dll"
/>
</CodeGroup>
RSWebApplication.confg
Added to the DeliveryUI element:
<Extension Name="Report Server Fax Delivery Extension"
Type="FaxDeliveryProvider.FaxUIControl,FaxDeliveryProvider">
<Configuration>
<FileShare>
<DefaultRenderingExtension>MHTML</DefaultRenderingExtension>
</FileShare>
</Configuration>
</Extension>
rsmgrpolicy.config
added:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="FaxDeliveryCodeGroup"
Description="Code group for my delivery extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
Services\ReportManager\bin\FaxDeliveryProvider.dll"
/>
</CodeGroup>Anyone?
"Nick @. INDATA" wrote:
> I am working on putting together a custom delivery extension (fax delivery)
> based on the built-in File Share delivery extension.
> Most of the functionality I need already exists in the File Share delivery
> extension so I used the Lutz Roeder's .NET Reflector to disassemble the
> ReportingServicesFileShareDeliveryProvider.dll and then built my own assembly
> which essentially mimics the ReportingServicesFileShareDeliveryProvider.dll.
> I changed two class names, the FileShareProvider and FileShareUIControl
> classes are known in my assembly as FaxProvider and FaxUIControl.
> Once I had all the functionality of the
> ReportingServicesFileShareDeliveryProvider.dll (I have only changed the two
> class names and replaced references to them with the new names) I attempted
> to deploy my assembly as a custom delivery extension so that I can test that
> I have attained the same functionality as the
> ReportingServicesFileShareDeliveryProvider.dll. This is where I run into
> problems.
> I see the following in my log files for RS:
> aspnet_wp!extensionfactory!15ec!08/17/2005-14:45:59:: e ERROR: Exception
> caught instantiating report server extension:
> System.Reflection.TargetInvocationException: Exception has been thrown by the
> target of an invocation. --> System.TypeInitializationException: The type
> initializer for "FaxDeliveryProvider.FaxProvider" threw an exception. -->
> System.Security.SecurityException: Request for the permission of type
> System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
> at FaxDeliveryProvider.FaxProvider..cctor()
> The state of the failed permission was:
> <IPermission
> class="System.Security.Permissions.StrongNameIdentityPermission, mscorlib,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
> version="1"
> PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736AD6E5F9586BAC2D531EABC3ACC666C2F8EC879FA94F8F7B0327D2FF2ED523448F83C3D5C5DD2DFC7BC99C5286B2C125117BF5CBE242B9D41750732B2BDFFE649C6EFB8E5526D526FDD130095ECDB7BF210809C6CDAD8824FAA9AC0310AC3CBA2AA0523567B2DFA7FE250B30FACBD62D4EC99B94AC47C7D3B28F1F6E4C8"/>
> -- End of inner exception stack trace --
> -- End of inner exception stack trace --
> at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
> at System.Activator.CreateInstance(Type type, Boolean nonPublic)
> at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder
> binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
> at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr,
> Binder binder, Object[] args, CultureInfo culture, Object[]
> activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName, Boolean
> ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args,
> CultureInfo culture, Object[] activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String extensionName, String extensionType).
> I have been doing some research and I know that the built in delivery file
> share delivery extension usese strong name security instead of URLMembership
> security...but I am not sure what I need to do or what changes I need to
> make to my config files to get around this. ANY HELP would be much
> appreciated...
> The following are the changes to the configuration files I made during
> deployment:
> RSReportServer.config
> Added:
> <Extension Name="Report Server Fax Delivery Extension"
> Type="FaxDeliveryProvider.FaxProvider,FaxDeliveryProvider">
> <MaxRetries>0</MaxRetries>
> <SecondsBeforeRetry>900</SecondsBeforeRetry>
> <Configuration>
> <FileShareConfiguration>
> <ExcludedRenderFormats>
> <RenderingExtension>HTMLOWC</RenderingExtension>
> <RenderingExtension>NULL</RenderingExtension>
> </ExcludedRenderFormats>
> </FileShareConfiguration>
> </Configuration>
> </Extension>
>
> rssrvpolicy.config
> Added:
> <CodeGroup class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Name="FaxDeliveryCodeGroup"
> Description="Code group for my delivery extension">
> <IMembershipCondition class="UrlMembershipCondition"
> version="1"
> Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
> Services\ReportServer\bin\FaxDeliveryProvider.dll"
> />
> </CodeGroup>
> RSWebApplication.confg
> Added to the DeliveryUI element:
> <Extension Name="Report Server Fax Delivery Extension"
> Type="FaxDeliveryProvider.FaxUIControl,FaxDeliveryProvider">
> <Configuration>
> <FileShare>
> <DefaultRenderingExtension>MHTML</DefaultRenderingExtension>
> </FileShare>
> </Configuration>
> </Extension>
> rsmgrpolicy.config
> added:
> <CodeGroup class="UnionCodeGroup"
> version="1"
> PermissionSetName="FullTrust"
> Name="FaxDeliveryCodeGroup"
> Description="Code group for my delivery extension">
> <IMembershipCondition class="UrlMembershipCondition"
> version="1"
> Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
> Services\ReportManager\bin\FaxDeliveryProvider.dll"
> />
> </CodeGroup>
>
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment