/// <summary> /// 启动预览 /// </summary> public void Run() { TcpListener listener = ClientService.CreatTcpListener(); Port = ClientService.Port; Jeelu.SimplusD.PathService.Initialize(Application.StartupPath); while (true) { TcpClient client = listener.AcceptTcpClient(); NetworkStream ns = client.GetStream(); StreamReader srs = new StreamReader(ns); string received = ""; //接收的GET请求 received += srs.ReadLine(); //获得GET请求 this.Index = StringService.GetRequest(received); //获取请求字符川 string resquestType = StringService.GetRequestType(this.Index); //获取请求类型 //如果发送php和shtml请求,说明sdsite被改编重新打开sdsite实例,则重新打开sdsite if (resquestType == "php" || resquestType == "shtml" || string.IsNullOrEmpty(resquestType)) { ///SdsiteService.OpenSdsite(PathService.AbsolutePath); SiteResourceService.Initialize (null, GetResourceAbsolutePath.GetResourceAbsPath, GetResourceAbsolutePath.GetResourcePath, GetResourceAbsolutePath.GetResourceUrl, null); } //处理除不同类型请求 HttpType(this.Index, resquestType, ns); } }
/// <summary> /// 初始化 /// </summary> public static void Initialize(string sdsite) { System.Windows.Forms.Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); _willOpenFile = sdsite; CssResources.Initialize(); //初始化的顺序是有一定规则的 Service.Util.Initialize(); Service.Property.Initialize(); PathService.Initialize(Application.StartupPath); Utility.Pinyin.Initialize(Path.Combine(PathService.SoftwarePath, "pinyin.mb")); ResourceService.Initialize(); StringParserService.Initialize(ResourceService.GetResourceText); SoftwareOption.Load(); ResourcesReader.InitializeResources("Configuration", SoftwareOption.General.ApplicationLanguage, null); Service.FileBinding.Initialize(); Service.DesignData.Load(PathService.Config_PadLayout); Service.RecentFiles.Initialize(); Service.SiteDataManager.Initialize(); Service.ListView.InitColumn(); SiteResourceService.Initialize(SelectResource, GetResourcePath, GetResourceAbsPath, GetResourceUrl, ImportResourceFile); AutoLayoutPanel.Initialize(PathService.CL_DataSources_Folder); LayoutConfiguration.LoadLayoutConfiguration(); _mainForm = new WorkbenchForm(); CssUtility.Initialize(_mainForm.SelectImageResource); ////初始化的顺序是有一定规则的 Service.User.Initialize(_mainForm.ShowLoginForm); Service.WebView.Initialize(_mainForm.SinglePagePublish); MessageService.Initialize(_mainForm); ToolbarManager.Initialize(_mainForm); MenuStripManager.Initialize(_mainForm); StatusBarManager.Initialize(_mainForm); FindAndReplaceForm.Initialize(_mainForm); //ResultsPad.Initialize(_mainForm); MenuStateManager.Initialize(); Service.StatusBar.Initialize(StatusBarManager.CurrentStatusStrip); Service.Workbench.Initialize( _mainForm, _mainForm.OpenWorkDocument, _mainForm.NavigationUrl, _mainForm.MainTreePad.TreeViewExPad.RefreshSiteTreeData, ShowDialogForCreateProject, ShowDialogForOpenProject, _mainForm.GotoTree, _mainForm.ActivateForm); ///监听项目的打开事件 Service.Project.ProjectOpened += new EventHandler(ProjectService_ProjectOpened); Service.Project.ProjectClosing += new EventHandler(ProjectService_ProjectClosing); Service.Project.ProjectClosed += new EventHandler(ProjectService_ProjectClosed); OnWorkbenchCreated(); _mainForm.OnActiveWorkspaceTypeChanged(new WorkspaceTypeEventArgs(WorkspaceType.Default)); _mainForm.MainDockPanel.ActiveDocumentChanged += new EventHandler(_mainForm.MainDockPanel_ActiveDocumentChanged); if (Initialized != null) { Initialized(null, EventArgs.Empty); } }