For locking I am using a single static object which is global to my application:
public class MvcApplication : System.Web.HttpApplication { public static readonly object AppLock = new object(); ... } Using it for locking in code:
lock(MvcApplication.AppLock) { ... } Let us not consider performance impact for a moment. Can I be 100% sure that I will avoid deadlock in this case?
lockto remove deadlocks, then you don't understand that for a deadlock you need to have twolocks to begin with. Or are you talking about SQL Server deadlocks, something very different?