when I visualize the XSLT Macros in the backend the error is:
System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2..ctor(IDictionary`2 dictionary, IEqualityComparer`1 comparer) at umbraco.macro.GetXsltExtensions() at umbraco.macro.AddMacroXsltExtensions() at umbraco.macro.GetXsltTransformResult(XmlDocument macroXML, XslCompiledTransform xslt, Dictionary`2 parameters) at umbraco.presentation.umbraco.developer.Xslt.xsltVisualize.visualizeDo_Click(Object sender, EventArgs e)
I've seen something like this on a site today as well, and solved the problem by using "Republish entire site" from the Umbraco backend.
This behaviour is often seen when the physical server site is residing on has been restarted, and the database server on the machine isn't starting as fast as the webserver on the machine when it comes back up.
As you might know today is the first tuesday of the month, the day microsoft ships the lates security updates, so my guess is that your server has been automatically updated and restarted (as this is the default configuration for Win2008R2 servers), and that your site was hit by a request before the database came back up. I know that was what happened in my clients case.
I myself have a server where I host some selected customers websites, and have disabled automatic installation of security updates and the following restart of the server, precisely for this reason. I usually login on my server and apply the security updates manually each first tuesday of the month. Restart the server and then check if all sites are running manually.
If you have RDP access to the server, you could try adding the SQL Service as a dependency on the IIS service (W3SVC), it can be done from an elevated command prompt with the following command:
sc config W3SVC depend= WAS/HTTP/MSSQL$SQLEXPRESS
If you try this be aware that the depend parameter HAS to be written with no space before the equals sign and one space after the equals sign. Also be aware that you have to pass all the services the W3SVC depends on when you run the command since it doesn't add to the existing list of dependencies, but resets the list instead. The service depends on WAS and HTTP so you need to add those services before the SQL Server Service. "MSSQL$SQLEXPRESS" is the default name of the SQL Server Express service.
All of a sudden all XSLT Makros throw an error
Hi,
all of a sudden all XSLT Makros throw an error.
when I visualize the XSLT Macros in the backend the error is:
System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2..ctor(IDictionary`2 dictionary, IEqualityComparer`1 comparer) at umbraco.macro.GetXsltExtensions() at umbraco.macro.AddMacroXsltExtensions() at umbraco.macro.GetXsltTransformResult(XmlDocument macroXML, XslCompiledTransform xslt, Dictionary`2 parameters) at umbraco.presentation.umbraco.developer.Xslt.xsltVisualize.visualizeDo_Click(Object sender, EventArgs e)
What can I do to get this fixed?
Thanks
Christian
Hi Christian
Have there been made any changes to your installation lately? Perhaps installed a new package or something like that?
What does the content of your XSLT file look like?
/Jan
HI Jan,
no there have been no changes to the configuration nor installation of packages or something like that.
The XSLTs are nothing special topnavigation and stuff like that.
The last thing that was done is (probably) adding some content. What I really find strange is that ALL Makros throw that error.
I tried to republish the entire site. No help.
/christian
Hi Jan,
I restarted the website in IIS, now everything is working as expected! phew;)
Anyway would be nice to know what the reason for that was.
thanks
Christian
Hi Christian
Happy to hear that.
Perhaps you should try having a look at the log to see if something weird is going on? (I prefer using the log manager package).
/Jan
I've had the same problem.
Maybe someone in the Umbraco Team could have a look at this? doesnt seem to be an isolated case.
Hi Tim,
I've seen something like this on a site today as well, and solved the problem by using "Republish entire site" from the Umbraco backend.
This behaviour is often seen when the physical server site is residing on has been restarted, and the database server on the machine isn't starting as fast as the webserver on the machine when it comes back up.
As you might know today is the first tuesday of the month, the day microsoft ships the lates security updates, so my guess is that your server has been automatically updated and restarted (as this is the default configuration for Win2008R2 servers), and that your site was hit by a request before the database came back up. I know that was what happened in my clients case.
I myself have a server where I host some selected customers websites, and have disabled automatic installation of security updates and the following restart of the server, precisely for this reason. I usually login on my server and apply the security updates manually each first tuesday of the month. Restart the server and then check if all sites are running manually.
If you have RDP access to the server, you could try adding the SQL Service as a dependency on the IIS service (W3SVC), it can be done from an elevated command prompt with the following command:
If you try this be aware that the depend parameter HAS to be written with no space before the equals sign and one space after the equals sign. Also be aware that you have to pass all the services the W3SVC depends on when you run the command since it doesn't add to the existing list of dependencies, but resets the list instead. The service depends on WAS and HTTP so you need to add those services before the SQL Server Service. "MSSQL$SQLEXPRESS" is the default name of the SQL Server Express service.
Regards
Jesper Hauge
is working on a reply...