How to run System.Web.DataVisualization in Medium Trust at on Rackspace Cloud Sites

1

I am having problems getting Microsoft Charting:

System.Web.DataVisualization.dll

To work in the Medium Trust on Windows Server 2008 on IIS 7

Using .Net 3.5

In an environment at Rackspace on their Cloud Sites.

I get this error message from the Rackspace hosting environment:

 Security Exception

 Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

 Exception Details: System.Security.SecurityException: That assembly does not allow partially trusted callers.

I have setup a site in our local staging environment to test the medium trust, and I get this message:

 Required permissions cannot be acquired.

 Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

 Exception Details: System.Security.Policy.PolicyException: Required permissions cannot be acquired.

 Source Error: 

 An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 Stack Trace: 

 [PolicyException: Required permissions cannot be acquired.]
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +10239406
   System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +97

 [FileLoadException: Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
 System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +416
 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +166
 System.Reflection.Assembly.Load(String assemblyString) +35
 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +190

 [ConfigurationErrorsException: Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11204104
 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +388
 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +232
 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +48
 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +210
 System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +76
 System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp) +283
 System.Web.Compilation.BuildManager.CompileGlobalAsax() +50
 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +676

 [HttpException (0x80004005): Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
 System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +76
 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +1012
 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +1025

 [HttpException (0x80004005): Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
 System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11297830
 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88
 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4336948

 Version Information: Microsoft .NET Framework Version:2.0.50727.4200; ASP.NET Version:2.0.50727.4016

Rackspace will not install the MSChart.exe package on the Rackspace Cloud Sites servers.

asp.net
iis-7
mschart
medium-trust
asked on Stack Overflow Aug 4, 2010 by Robs • edited Aug 4, 2010 by Robs

1 Answer

2

MS Charting for .Net 3.5 must be installed using the MSI.

To get it to work in medium trust where you cannot install it, try using .Net 4.0 where it is part of the .Net Framework.

answered on Stack Overflow Aug 28, 2010 by Robs

User contributions licensed under CC BY-SA 3.0