I am trying to add a 3rd server to my webfarm and I'm getting a security exception. I've done quite a bit of searching and am at a bit of a dead end, I hope you guys can help me.
I am using W2008 Web server (64 bit) with DFS to provide file sharing. I have 2 other nodes running just fine off the configuration, so I don't think it's the DNN config, it has to be something about the config on the machine.
I think (but am obviously wrong) I set the machine up the same way the other 2 were set up.
I run DNN as a domain user, IIS can connect to the files fine (they're local on C) and the app pool also runs as the domain user (just like the other 2 working machines). When I try to access the site on the machine, I get the following exception page:
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: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
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:
[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +62
System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +42
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +77
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +105
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +64
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074
In the eventlog, I see the following warning:
-
-
1310
3
3
0x80000000000000
196
Application
WS2.trumsoft.local
-
3008
A configuration error has occurred.
5/12/2009 1:56:28 PM
5/12/2009 5:56:28 PM
a134dfb6bd8144f0a64046c25111159c
1
1
0
/LM/W3SVC/2/ROOT-1-128866245880942000
Full
/
C:\Data\Nuke5Share\
WS2
2344
w3wp.exe
TRUMSOFT\DotNetNuke
ConfigurationErrorsException
Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
http://ws2/default.aspx
/default.aspx
fe80::a5a3:65d7:bf0f:15d8%10
False
TRUMSOFT\DotNetNuke
5
TRUMSOFT\DotNetNuke
False
at System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase)
at System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement)
at System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList)
at System.Web.HttpApplication.GetModuleCollection(IntPtr appContext)
at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Any help would be greatly appreciated!
UPDATE: I changed the pipeline model to classic and got a different (but similar error) from my web.config file, it started complaining about DotNetNuke.HttpModules.Compression.CompressionModule
So, I did more googling and came up with this: http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/107/postid/272423/scope/posts/Default.aspx
On suggestion was to change the thread pool to load the profile. I made that change and it worked! So then I went to to look at my other servers (they are twins) and they DO NOT have load profile set.
So, I am better off that I was (it works) but am at a loss as to why and I think I should understand what is going on before I put the server into production.
Any thoughts that would shed light on what is going on would be greatly appreciated.