WPF使用ARCGIS App文件配置Cs后台文件

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

using ESRI.ArcGIS.esriSystem;
using System.Xml.Serialization;
using System.IO;
using SWGW.Properties;
using System.Diagnostics;
namespace SWGW
{
    /// <summary>
    /// App.xaml 的交互逻辑
    /// </summary>
    public partial class App : Application
    {

        #region License
        protected override void OnStartup(StartupEventArgs e)
        {
            SettingsManager.OnStartup();
            base.OnStartup(e);

            if (!LicenseManager.InitializeLicense.InitializeEngineLicense())
            {
                MessageBox.Show("无法初始化ArcGIS Engine的授权或地球扩展。截止...");
            }

        }
        #endregion

        #region 私有类
        static class SettingsManager
        {
            #region Class Members
            static Settings settings = new Settings();
            const string applicationDirectory = "SWGW";
            //配置文件名称
            const string settingsFileName = "XXXX.xml";
            #endregion Class Members

            #region Constructor

            static SettingsManager()
            {
                EnsureDirectoryExists();
            }

            #endregion Constructor

            #region Properties

            public static Settings ApplicationSettings
            {
                get { return settings; }
            }

            #endregion Properties

            #region Startup, Exit

            public static void OnStartup()
            {
                LoadSettings();
            }

            public static void OnExit()
            {
                SaveSettings();
            }

            #endregion Overrides

            #region Other Functions

            static string SettingsFileName
            {
                get
                {
                    return Path.Combine(
                        Path.Combine(
                        Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                        applicationDirectory),
                        settingsFileName);
                }
            }

            static void LoadSettings()
            {
                Settings tmp;

                try
                {
                    XmlSerializer xml = new XmlSerializer(typeof(Settings));

                    using (Stream stream = new System.IO.FileStream(SettingsFileName,
                        FileMode.Open, FileAccess.Read, FileShare.Read))
                    {
                        tmp = (Settings)xml.Deserialize(stream);
                    }
                }
                catch (Exception e)
                {
                    Trace.WriteLine(e.Message);
                    return;
                }

                settings = tmp;
            }

            static void SaveSettings()
            {
                try
                {
                    XmlSerializer xml = new XmlSerializer(typeof(Settings));

                    using (Stream stream = new System.IO.FileStream(SettingsFileName,
                           FileMode.Create, FileAccess.Write, FileShare.None))
                    {
                        xml.Serialize(stream, settings);
                    }
                }
                catch (Exception e)
                {
                    Trace.WriteLine(e.Message);
                }
            }

            [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
            static void EnsureDirectoryExists()
            {
                try
                {
                    DirectoryInfo info = new DirectoryInfo(
                        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                        applicationDirectory));

                    if (!info.Exists)
                    {
                        info.Create();
                    }
                }
                catch (Exception ex)
                {
                    Trace.WriteLine(ex.Message);
                }
            }

            #endregion Other Functions
        }

        #endregion
    }
}
时间: 2024-11-01 09:29:00

WPF使用ARCGIS App文件配置Cs后台文件的相关文章

Sybase IQ-15_1本地登录问题之interfaces文件配置及数据文件权限

环境描述:    操作系统:rhel 5.4    数据库版本:Sybase IQ-15_1    问题描述:上海一客户Sybase IQ-15_1数据库主机重启,Sybase IQ-15_1数据库启动异常,由于数据库管理员Sybase IQ-15_1经验欠缺,登录不了本地Sybase IQ-15_1控制台.    问题处理过程:    一.首先解决iqdemo库的登录问题    1.通过ps -ef|grep sybase发现有iqdemo数据库进程    2.临时配置操作系统本地LANG参数

虚拟主机ip配置,nginx.conf文件配置及日志文件切割

今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconfig eth0 192.168.0.15 netmast 255.255.255.0虚拟ip及对应server块基本配置:ifconfig eth0:1 192.168.0.180 broadcast 192.168.0.255 netmask 255.255.255.0ifconfig eth0:

maven中pom文件配置解决资源文件的编码问题

<build> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugi

模板、URL、同一个项目其他文件配置

文件目录: 1.同一个项目其他文件配置: 在文件:settings.py中的这里面添加 INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myTest', #这是新添加的文件) 2.模板

WPF程序中App.Config文件的读与写

原文:WPF程序中App.Config文件的读与写 WPF程序中的App.Config文件是我们应用程序中经常使用的一种配置文件,System.Configuration.dll文件中提供了大量的读写的配置,所以它是一种高效的程序配置方式,那么今天我就这个部分来做一次系统性的总结. App.Config文件是系统默认的应用程序配置文件,在我们使用后进行编译时会生成"程序集名称+.exe.config"文件,其本质上也是一个XML文件,在我们的应用程序中添加应用程序配置文件后,默认生成下

九、将cs文件快速的转换成可执行文件和响应文件(配置编译开关的文件)

1.将包含多个类型的源代码文件转换为可以部署的文件.有如下Program.cs的文件,代码如下: public sealed class Program { public static void Main(string[] args) { System.Console.WriteLine("Hello World"); System.Console.ReadKey(); } } 该应用程序实现了打印"Hello World"的功能,该应用程序中引用到的系统类型都来自

Winform Log4net 配置写不同文件

以下配置了二种写文件,第一种根据日期写文件yyyyMMdd.txt,第二种是写固定文件login.txt. 1, 下载Log4net组件:http://logging.apache.org/log4net/download.html 2,将log4net.dll加到项目引用中: 3,在app.config中添加相关配置信息,文件内容如下: <?xml version="1.0"?><configuration>  <configSections>  

WPF中利用WebClient向服务器上传文件

转载:原文地址http://blog.csdn.net/wj1589300/article/details/9255631 WPF中利用WebClient向服务器上传文件 忽然接到一个任务,在WPF中上传文件至服务器~在网上搜了很多种方法,最终决定利用WebCient实现文件的上传工作,看似很简单的任务,却遇到了很多问题.先说一下我的探索步骤吧~ 一.选用WebClient.UploadFile方法 (String,String, String) [csharp] view plaincopyp

WPF 中的 Pack URI地(资源文件加载)

参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括: 指定当应用程序第一次启动时显示的用户界面 (UI). 加载图像. 导航到页 加载不可执行的数据文件. 此外,可以使用 URI 标识和加载位于各种位置的文件,这些位置包括