No Gravatar

Like many, my preferred web platform, (done a few intranet and internet) uses a CIFS based backend content store and unique AD based application pool identities for EACH application. This has several plus points. Add to this a tweaked .NET medium trust and you have a secure and scalable platform.

But that is where the fun starts

.NET needs to trust the code it is being asked to run, which by default only include local disks, so code on a UNC path is not trusted by default. Fortunately for .NET 2.0 that is fairly easy and the following command will arrange that for you…

caspol -machine -addgroup 1. -url \\HOST\SHARE\* FullTrust

OR  so you would think

One of the platforms which had passed all of its Accept into Service tests, and was happily running a handful of websites doing all manner of stuff, was refusing to correctly interpret a simple parameter, on one web site. A web site using the “ajaxcontroltoolkit.dll”, in the <controls> section of the web.config file the line 
<add namespace=”AjaxControlToolkit” assembly=”AjaxControlToolkit” tagPrefix=”ajaxToolkit”/>”
was being completely ignored. It was not a case of the assembly was not being found as some code which created a NEW object based on a class in the assembly (Dim mp As AjaxControlToolkit.ModalPopupExtender) worked fine, but any attempt to us a ajaxToolkit tag “<ajaxToolkit:ModalPopupExtender ” failed with a “Parser Error Message: Unknown server tag ‘ajaxToolkit:ModalPopupExtender’.”

Various tests on the same code on servers with local content all worked, and in fact it works on the (unc based) Development platform too.. (lot of head scratching followed)

Anyway after 15 hours of digging to locate the fault, is came down to a missing “\”
caspol -machine -addgroup 1. -url \\HOST\SHARE\* FullTrust
compared to
caspol -machine -addgroup 1. -url \\HOST\SHARE* FullTrust

All fixed and working now :-)

A FEW WORDS OF ADVICE,

  • Changes to security.config doe not force a recompile
  • When faulting an ASP.NET config issue, always do and IISreset and clear the compilation cache before each test.