Esempio n. 1
0
        /// <summary>
        /// ウィンドウが表示されるより前に行われる初期化処理
        /// </summary>
        public static void Init()
        {
            if (initialized)
            {
                throw new InvalidOperationException("アプリケーションは既に初期化されています。");
            }
            initialized = true;

            // ネットワーク初期化
            Dulcet.Network.Http.Expect100Continue  = false;
            Dulcet.Network.Http.MaxConnectionLimit = Int32.MaxValue;
            Debug.WriteLine("SecurityProtocolの初期値は{0}です。", Dulcet.Network.Http.SecurityProtocol);
            Dulcet.Network.Http.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            // プラグインのロード
            PluginLoader.Load();

            // 設定のロード
            Setting.Initialize();

            // APIエンドポイントのオーバーライト
            if (!String.IsNullOrEmpty(Setting.Instance.KernelProperty.TwitterApiEndpoint))
            {
                try
                {
                    Dulcet.Twitter.Rest.Api.TwitterUri = Setting.Instance.KernelProperty.TwitterApiEndpoint;
                }
                catch (Exception ex)
                {
                    ExceptionStorage.Register(ex, ExceptionCategory.ConfigurationError,
                                              "Twitter API エンドポイントの設定を行えませんでした。");
                }
            }

#if false
            Uri uri     = new Uri("https://xn--bckgakc6gsa3c6z.jp");
            var decoded = System.Web.Punycode.PunyDecode(uri);
            System.Diagnostics.Debug.WriteLine(decoded.OriginalString);
#endif

            // サブシステムの初期化
            NotificationCore.Initialize();
            HashtagStorage.Initialize();

            Application.Current.Exit += new ExitEventHandler(AppExit);
        }
Esempio n. 2
0
        /// <summary>
        /// ウィンドウが表示されるより前に行われる初期化処理
        /// </summary>
        public static void Init()
        {
            if (initialized)
            {
                throw new InvalidOperationException("アプリケーションは既に初期化されています。");
            }
            initialized = true;

            // ネットワーク初期化
            Dulcet.Network.Http.Expect100Continue  = false;
            Dulcet.Network.Http.MaxConnectionLimit = Int32.MaxValue;

            // プラグインのロード
            PluginLoader.Load();

            // 設定のロード
            Setting.Initialize();

            // APIエンドポイントのオーバーライト
            if (!String.IsNullOrEmpty(Setting.Instance.KernelProperty.TwitterApiEndpoint))
            {
                try
                {
                    Dulcet.Twitter.Rest.Api.TwitterUri = Setting.Instance.KernelProperty.TwitterApiEndpoint;
                }
                catch (Exception ex)
                {
                    ExceptionStorage.Register(ex, ExceptionCategory.ConfigurationError,
                                              "Twitter API エンドポイントの設定を行えませんでした。");
                }
            }

            // サブシステムの初期化
            NotificationCore.Initialize();
            HashtagStorage.Initialize();

            Application.Current.Exit += new ExitEventHandler(AppExit);
        }