Using the ICacheManager abstraction to cache frequently used data can significantly improve performance in your Orchard web sites. But when the work required to create that data is resource-intensive and your web site is under heavy load, bad stuff can happen. This post takes a look at how to make your caching code resilient to such circumstances.
Output caching has been significantly overhauled in the upcoming Orchard 1.9 release. This posts takes an in-depth look at what precipitated these changes, how the new output cache logic works, and how to best configure and use it to improve the performance of your sites.
Making advanced IIS configuration changes in a web role in Azure Cloud Services can be extremely tricky to accomplish due to the fact that IIS has not yet been set up at the time when startup tasks execute. This post outlines a robust approach to overcoming this obstacle by registering an event-trigger task with the Windows Task Scheduler to defer the IIS configuration changes to the exact point in time when IIS setup has been finalized.
In my previous post Making IIS Configuration Changes in a Web Role Startup Task I explained why certain IIS configuration changes are tricky to do in web role startup tasks, and showed a robust generic approach to overcome this obstacle. In this post I'll show how you can apply that method for the specific purpose of disabling client certificate revocation checks in your web role.
It's often said that arguing with a developer is like wrestling with a pig in the mud - after a while you realize the pig likes it. In a recent Orchard weekly community meeting the age-old issue of tabs vs. spaces for indenting source code came up briefly for debate. Being a total pig, I enjoy these discussions. But more importantly it reminded me that I should write down my arguments once and for all. This post is my tabs manifesto. :)
Integrating with the various SOAP-based APIs on the Force.com platform has traditionally been relatively easy using the WCF client tooling for the full .NET Framework. If you're targeting .NET Core or UWP however, things are trickier because the tooling that generates the client proxy code lacks support for the SOAP headers used by these APIs for things like authentication. This post shows how you can work around that limitation by hooking into the WCF client pipeline to add the necessary SOAP headers.