private static void InitializeOptionsIfNeeded() { OptionsLocker.AcquireReaderLock(Timeout.Infinite); if (options != null) { OptionsLocker.ReleaseReaderLock(); return; } OptionsLocker.UpgradeToWriterLock(Timeout.Infinite); if (options != null) { OptionsLocker.ReleaseWriterLock(); return; } try { var optionsBuilder = new AspViewOptionsBuilder(); InitializeProgrammaticConfig(optionsBuilder); var appSettingsOptions = GetAppSettingsOptions(); if (appSettingsOptions != null) { optionsBuilder.ApplyConfigurableOverrides(appSettingsOptions); } options = optionsBuilder.BuildOptions(); } finally { OptionsLocker.ReleaseWriterLock(); } }
public void Configure(AspViewOptionsBuilder options) { options.Compiler .CompileForDebugging() .AllowPartiallyTrustedCallers() .AutoRecompilation() .KeepTemporarySourceFiles() .UsingTemporarySourceFilesDirectory("DIR"); }
private static void InitializeProgrammaticConfig(AspViewOptionsBuilder optionsBuilder) { var app = GetApplicationInstance(); if (app == null) { return; } var configEvents = app as IAspViewConfigurationEvents; if (configEvents == null) { return; } configEvents.Configure(optionsBuilder); }
private static void InitializeProgrammaticConfig(AspViewOptionsBuilder optionsBuilder) { var app = GetApplicationInstance(); if (app == null) return; var configEvents = app as IAspViewConfigurationEvents; if (configEvents == null) return; configEvents.Configure(optionsBuilder); }
private static void InitializeOptionsIfNeeded() { OptionsLocker.AcquireReaderLock(Timeout.Infinite); if (options != null) { OptionsLocker.ReleaseReaderLock(); return; } OptionsLocker.UpgradeToWriterLock(Timeout.Infinite); if (options != null) { OptionsLocker.ReleaseWriterLock(); return; } try { var optionsBuilder = new AspViewOptionsBuilder(); InitializeProgrammaticConfig(optionsBuilder); var appSettingsOptions = GetAppSettingsOptions(); if (appSettingsOptions != null) optionsBuilder.ApplyConfigurableOverrides(appSettingsOptions); options = optionsBuilder.BuildOptions(); } finally { OptionsLocker.ReleaseWriterLock(); } }