static void Main(string[] args) { try { string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; ValueManager.ValueManagerType = typeof(MultiThreadValueManager <>).GetGenericTypeDefinition(); SecurityAdapterHelper.Enable(); ServerApplication serverApplication = new ServerApplication(); serverApplication.ApplicationName = "P3TEK"; serverApplication.CheckCompatibilityType = CheckCompatibilityType.DatabaseSchema; #if DEBUG if (System.Diagnostics.Debugger.IsAttached && serverApplication.CheckCompatibilityType == CheckCompatibilityType.DatabaseSchema) { serverApplication.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways; } #endif serverApplication.Modules.BeginInit(); serverApplication.Modules.Add(new DevExpress.ExpressApp.Security.SecurityModule()); serverApplication.Modules.Add(new P3TEK.Module.P3TEKModule()); serverApplication.Modules.Add(new P3TEK.Module.Win.P3TEKWindowsFormsModule()); serverApplication.Modules.Add(new P3TEK.Module.Web.P3TEKAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.AuditTrail.AuditTrailModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.ChartModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.Win.ChartWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.Web.ChartAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.CloneObject.CloneObjectModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.DashboardsModule() { DashboardDataType = typeof(DevExpress.Persistent.BaseImpl.DashboardData) }); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.Win.DashboardsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.Web.DashboardsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.FileAttachments.Web.FileAttachmentsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlPropertyEditorWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.HtmlPropertyEditor.Web.HtmlPropertyEditorAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Kpi.KpiModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.PivotChartModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.Win.PivotChartWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.Web.PivotChartAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.PivotGridModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.Win.PivotGridWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.Web.PivotGridAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.ReportsModuleV2() { ReportDataType = typeof(DevExpress.Persistent.BaseImpl.ReportDataV2) }); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.Web.TreeListEditorsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.ValidationModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.Web.ValidationAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ViewVariantsModule.ViewVariantsModule()); serverApplication.Modules.EndInit(); serverApplication.DatabaseVersionMismatch += new EventHandler <DatabaseVersionMismatchEventArgs>(serverApplication_DatabaseVersionMismatch); serverApplication.CreateCustomObjectSpaceProvider += (s, e) => { e.ObjectSpaceProviders.Add(new XPObjectSpaceProvider(e.ConnectionString, e.Connection)); e.ObjectSpaceProviders.Add(new NonPersistentObjectSpaceProvider(serverApplication.TypesInfo, null)); }; serverApplication.ConnectionString = connectionString; Console.WriteLine("Setup..."); serverApplication.Setup(); Console.WriteLine("CheckCompatibility..."); serverApplication.CheckCompatibility(); serverApplication.Dispose(); Console.WriteLine("Starting server..."); Func <IDataServerSecurity> dataServerSecurityProvider = () => { SecurityStrategyComplex security = new SecurityStrategyComplex(typeof(PermissionPolicyUser), typeof(PermissionPolicyRole), new AuthenticationStandard()); security.SupportNavigationPermissionsForTypes = false; return(security); }; WcfXafServiceHost serviceHost = new WcfXafServiceHost(connectionString, dataServerSecurityProvider); serviceHost.AddServiceEndpoint(typeof(IWcfXafDataServer), WcfDataServerHelper.CreateNetTcpBinding(), "net.tcp://127.0.0.1:1451/DataServer"); serviceHost.Open(); Console.WriteLine("Server is started. Press Enter to stop."); Console.ReadLine(); Console.WriteLine("Stopping..."); serviceHost.Close(); Console.WriteLine("Server is stopped."); } catch (Exception e) { Console.WriteLine("Exception occurs: " + e.Message); Console.WriteLine("Press Enter to close."); Console.ReadLine(); } }
private void initXAFServer() { string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; ValueManager.ValueManagerType = typeof(MultiThreadValueManager <>).GetGenericTypeDefinition(); SecurityAdapterHelper.Enable(); serverApplication = new ServerApplication(); serverApplication.ApplicationName = "LogXExplorer"; serverApplication.CheckCompatibilityType = CheckCompatibilityType.DatabaseSchema; #if DEBUG if (System.Diagnostics.Debugger.IsAttached && serverApplication.CheckCompatibilityType == CheckCompatibilityType.DatabaseSchema) { serverApplication.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways; } #endif serverApplication.Modules.BeginInit(); serverApplication.Modules.Add(new DevExpress.ExpressApp.Security.SecurityModule()); serverApplication.Modules.Add(new LogXExplorer.Module.LogXExplorerModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule()); //serverApplication.Modules.Add(new LogXExplorer.Module.Win.LogXExplorerWindowsFormsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.AuditTrail.AuditTrailModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.CloneObject.CloneObjectModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.DashboardsModule() { DashboardDataType = typeof(DevExpress.Persistent.BaseImpl.DashboardData) }); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.Win.DashboardsWindowsFormsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Notifications.NotificationsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Notifications.Win.NotificationsWindowsFormsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.ReportsModuleV2() { ReportDataType = typeof(DevExpress.Persistent.BaseImpl.ReportDataV2) }); //serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.ValidationModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule()); //serverApplication.Modules.Add(new DevExpress.ExpressApp.ViewVariantsModule.ViewVariantsModule()); serverApplication.Modules.EndInit(); XPObjectSpaceProvider objectSpaceProvider = null; serverApplication.DatabaseVersionMismatch += new EventHandler <DatabaseVersionMismatchEventArgs>(serverApplication_DatabaseVersionMismatch); serverApplication.CreateCustomObjectSpaceProvider += (s, e) => { objectSpaceProvider = new XPObjectSpaceProvider(e.ConnectionString, e.Connection); e.ObjectSpaceProviders.Add(objectSpaceProvider); e.ObjectSpaceProviders.Add(new NonPersistentObjectSpaceProvider(serverApplication.TypesInfo, null)); }; serverApplication.ConnectionString = connectionString; serverApplication.Setup(); serverApplication.CheckCompatibility(); //serverApplication.Dispose(); // //korábbi ConnectionHelper kiváltása // XpoDefault.DataLayer = objectSpaceProvider.DataLayer; // XpoDefault.GetDataLayer this.serverObjectSpace = serverApplication.ObjectSpaceProvider.CreateObjectSpace(); Func <IDataServerSecurity> dataServerSecurityProvider = () => { SecurityStrategyComplex security = new SecurityStrategyComplex(typeof(PermissionPolicyUser), typeof(PermissionPolicyRole), new AuthenticationStandard()); security.SupportNavigationPermissionsForTypes = false; return(security); }; //+++++ configból a connection stringet: net.tcp://127.0.0.1:1451/DataServer xafServiceHost = new WcfXafServiceHost(connectionString, dataServerSecurityProvider); xafServiceHost.AddServiceEndpoint(typeof(IWcfXafDataServer), WcfDataServerHelper.CreateNetTcpBinding(), "net.tcp://127.0.0.1:1451/DataServer"); xafServiceHost.Open(); //test //ConnectionHelper.Connect(DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema, true); //log.Info("ConnectionHelper connected."); }
static void Main(string[] args) { try { SecurityAdapterHelper.Enable(); ValueManager.ValueManagerType = typeof(MultiThreadValueManager <>).GetGenericTypeDefinition(); //string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; string connectionString = InMemoryDataStoreProvider.ConnectionString; ServerApplication serverApplication = new ServerApplication(); serverApplication.ApplicationName = "PermissionPolicyExample"; serverApplication.CheckCompatibilityType = CheckCompatibilityType.DatabaseSchema; #if DEBUG if (System.Diagnostics.Debugger.IsAttached && serverApplication.CheckCompatibilityType == CheckCompatibilityType.DatabaseSchema) { serverApplication.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways; } #endif serverApplication.Modules.BeginInit(); serverApplication.Modules.Add(new SystemWindowsFormsModule()); serverApplication.Modules.Add(new SystemAspNetModule()); serverApplication.Modules.Add(new PermissionPolicyExampleModule()); serverApplication.Modules.Add(new SecurityModule()); serverApplication.Modules.EndInit(); serverApplication.DatabaseVersionMismatch += new EventHandler <DatabaseVersionMismatchEventArgs>(serverApplication_DatabaseVersionMismatch); serverApplication.CreateCustomObjectSpaceProvider += new EventHandler <CreateCustomObjectSpaceProviderEventArgs>(serverApplication_CreateCustomObjectSpaceProvider); serverApplication.ConnectionString = connectionString; Console.WriteLine("Setup..."); serverApplication.Setup(); Console.WriteLine("CheckCompatibility..."); serverApplication.CheckCompatibility(); serverApplication.Dispose(); Console.WriteLine("Starting server..."); Func <IDataServerSecurity> dataServerSecurityProvider = () => { SecurityStrategyComplex security = new SecurityStrategyComplex(typeof(PermissionPolicyUser), typeof(PermissionPolicyRole), new AuthenticationStandard()); security.SupportNavigationPermissionsForTypes = false; return(security); }; WcfXafServiceHost serviceHost = new WcfXafServiceHost(connectionString, dataServerSecurityProvider); serviceHost.AddServiceEndpoint(typeof(IWcfXafDataServer), WcfDataServerHelper.CreateNetTcpBinding(), "net.tcp://127.0.0.1:1451/DataServer"); serviceHost.Open(); Console.WriteLine("Server is started. Press Enter to stop."); Console.ReadLine(); Console.WriteLine("Stopping..."); serviceHost.Close(); Console.WriteLine("Server is stopped."); } catch (Exception e) { Console.WriteLine("Exception occurs: " + e.Message); Console.WriteLine("Press Enter to close."); Console.ReadLine(); } }
static void Main(string[] args) { WcfDataServerHelper.AddKnownType(typeof(ExportPermissionRequest)); try { string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; ValueManager.ValueManagerType = typeof(MultiThreadValueManager <>).GetGenericTypeDefinition(); SecurityAdapterHelper.Enable(); ServerApplication serverApplication = new ServerApplication(); serverApplication.ApplicationName = "InsureCore"; serverApplication.CheckCompatibilityType = CheckCompatibilityType.DatabaseSchema; #if DEBUG if (System.Diagnostics.Debugger.IsAttached && serverApplication.CheckCompatibilityType == CheckCompatibilityType.DatabaseSchema) { serverApplication.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways; } #endif serverApplication.Modules.BeginInit(); serverApplication.Modules.Add(new DevExpress.ExpressApp.Security.SecurityModule()); serverApplication.Modules.Add(new InsureCore.Module.InsureCoreModule()); serverApplication.Modules.Add(new InsureCore.Module.Win.InsureCoreWindowsFormsModule()); serverApplication.Modules.Add(new InsureCore.Module.Web.InsureCoreAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.AuditTrail.AuditTrailModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.ChartModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.Win.ChartWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Chart.Web.ChartAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.CloneObject.CloneObjectModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.DashboardsModule() { DashboardDataType = typeof(DevExpress.Persistent.BaseImpl.DashboardData) }); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.Win.DashboardsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Dashboards.Web.DashboardsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.FileAttachments.Web.FileAttachmentsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlPropertyEditorWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.HtmlPropertyEditor.Web.HtmlPropertyEditorAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Kpi.KpiModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Maps.Web.MapsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Notifications.NotificationsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Notifications.Win.NotificationsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Notifications.Web.NotificationsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.PivotChartModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.Win.PivotChartWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotChart.Web.PivotChartAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.PivotGridModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.Win.PivotGridWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.PivotGrid.Web.PivotGridAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.ReportsModuleV2() { ReportDataType = typeof(DevExpress.Persistent.BaseImpl.ReportDataV2) }); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Scheduler.SchedulerModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Scheduler.Win.SchedulerWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Scheduler.Web.SchedulerAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ScriptRecorder.ScriptRecorderModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ScriptRecorder.Win.ScriptRecorderWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ScriptRecorder.Web.ScriptRecorderAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.StateMachine.StateMachineModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.TreeListEditors.Web.TreeListEditorsAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.ValidationModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Validation.Web.ValidationAspNetModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.ViewVariantsModule.ViewVariantsModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Workflow.WorkflowModule()); serverApplication.Modules.Add(new DevExpress.ExpressApp.Workflow.Win.WorkflowWindowsFormsModule()); serverApplication.Modules.EndInit(); serverApplication.DatabaseVersionMismatch += new EventHandler <DatabaseVersionMismatchEventArgs>(serverApplication_DatabaseVersionMismatch); serverApplication.CreateCustomObjectSpaceProvider += new EventHandler <CreateCustomObjectSpaceProviderEventArgs>(serverApplication_CreateCustomObjectSpaceProvider); serverApplication.ConnectionString = connectionString; Console.WriteLine("Setup..."); serverApplication.Setup(); Console.WriteLine("CheckCompatibility..."); serverApplication.CheckCompatibility(); serverApplication.Dispose(); Console.WriteLine("Starting server..."); Func <IDataServerSecurity> dataServerSecurityProvider = () => { SecurityStrategyComplex security = new SecurityStrategyComplex(typeof(User), typeof(Role), new AuthenticationStandard()); security.SupportNavigationPermissionsForTypes = false; security.CustomizeRequestProcessors += delegate(object sender, CustomizeRequestProcessorsEventArgs e) { List <IOperationPermission> result = new List <IOperationPermission>(); if (security != null) { User user = security.User as User; if (user != null) { foreach (Role role in user.Roles) { if (role.CanExport) { result.Add(new ExportPermission()); } } } } IPermissionDictionary permissionDictionary = new PermissionDictionary((IEnumerable <IOperationPermission>)result); e.Processors.Add(typeof(ExportPermissionRequest), new ExportPermissionRequestProcessor(permissionDictionary)); }; return(security); }; WcfXafServiceHost serviceHost = new WcfXafServiceHost(connectionString, dataServerSecurityProvider); serviceHost.AddServiceEndpoint(typeof(IWcfXafDataServer), WcfDataServerHelper.CreateNetTcpBinding(), "net.tcp://127.0.0.1:1451/DataServer"); serviceHost.Open(); Console.WriteLine("Server is started. Press Enter to stop."); Console.ReadLine(); Console.WriteLine("Stopping..."); serviceHost.Close(); Console.WriteLine("Server is stopped."); } catch (Exception e) { Console.WriteLine("Exception occurs: " + e.Message); Console.WriteLine("Press Enter to close."); Console.ReadLine(); } }
protected void Application_Start(Object sender, EventArgs e) { SecurityAdapterHelper.Enable(DevExpress.ExpressApp.Security.Adapters.ReloadPermissionStrategy.CacheOnFirstAccess); //Vinabits: them firstAccess ASPxWebControl.CallbackError += new EventHandler(Application_Error); WebApplication.EnableMultipleBrowserTabsSupport = true; }
public static void Main(string[] arguments) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #region DEMO_REMOVE if (arguments.Length > 0) { string param = (string)arguments.GetValue(0); if (param.Contains("UserName="******"UserName="******""); } } #endregion if (Tracing.GetFileLocationFromSettings() == FileLocation.CurrentUserApplicationDataFolder) { Tracing.LocalUserAppDataPath = Application.LocalUserAppDataPath; } Tracing.Initialize(); MainDemoWinApplication winApplication = new MainDemoWinApplication(); DevExpress.ExpressApp.Utils.ImageLoader.Instance.UseSvgImages = true; #if DEBUG DevExpress.ExpressApp.Win.EasyTest.EasyTestRemotingRegistration.Register(); #endif AuditTrailService.Instance.QueryCurrentUserName += new QueryCurrentUserNameEventHandler(Instance_QueryCurrentUserName); winApplication.CustomizeFormattingCulture += new EventHandler <CustomizeFormattingCultureEventArgs>(winApplication_CustomizeFormattingCulture); winApplication.LastLogonParametersReading += new EventHandler <LastLogonParametersReadingEventArgs>(winApplication_LastLogonParametersReading); SecurityAdapterHelper.Enable(); ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["ConnectionString"]; if (connectionStringSettings != null) { winApplication.ConnectionString = connectionStringSettings.ConnectionString; } else if (string.IsNullOrEmpty(winApplication.ConnectionString) && winApplication.Connection == null) { connectionStringSettings = ConfigurationManager.ConnectionStrings["SqlExpressConnectionString"]; if (connectionStringSettings != null) { winApplication.ConnectionString = DbEngineDetector.PatchConnectionString(connectionStringSettings.ConnectionString); } } #if DEBUG foreach (string argument in arguments) { if (argument.StartsWith("-connectionString:")) { string connectionString = argument.Replace("-connectionString:", ""); winApplication.ConnectionString = connectionString; } } #endif if (System.Diagnostics.Debugger.IsAttached && winApplication.CheckCompatibilityType == CheckCompatibilityType.DatabaseSchema) { winApplication.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways; } try { winApplication.Setup(); winApplication.Start(); } catch (Exception e) { winApplication.HandleException(e); } }