当前位置: 首页>>代码示例>>C#>>正文


C# AccountInfo.Test方法代码示例

本文整理汇总了C#中Inscribe.Authentication.AccountInfo.Test方法的典型用法代码示例。如果您正苦于以下问题:C# AccountInfo.Test方法的具体用法?C# AccountInfo.Test怎么用?C# AccountInfo.Test使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Inscribe.Authentication.AccountInfo的用法示例。


在下文中一共展示了AccountInfo.Test方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AccountScheduler

 public AccountScheduler(AccountInfo info)
 {
     this._accountInfo = info;
     this.AddSchedule(new HomeReceiveTask(info));
     this.AddSchedule(new MentionReceiveTask(info));
     this.AddSchedule(new DirectMessageReceiveTask(info));
     this.AddSchedule(new SentDirectMessageReceiveTask(info));
     this.AddSchedule(new FavoritesReceiveTask(info));
     this.AddSchedule(new MyTweetsTask(info));
     Task.Factory.StartNew(() =>
         {
             try
             {
                 // テストを飛ばす
                 ApiHelper.ExecApi(() => info.Test());
             }
             catch { }
         });
     ThreadHelper.Halt += () => this.StopSchedule();
 }
开发者ID:azyobuzin,项目名称:Mystique,代码行数:20,代码来源:AccountScheduler.cs

示例2: ConnectCore

        /// <summary>
        /// ストリーミングAPIへ接続します。<para />
        /// 接続に失敗した場合、規定アルゴリズムに沿って自動で再接続を試みます。<para />
        /// それでも失敗する場合はfalseを返します。この場合、再接続を試みてはいけません。
        /// </summary>
        /// <param name="track">トラック対象キーワード</param>
        private void ConnectCore(AccountInfo info, string track)
        {
            try
            {
                int failureWaitSec = 0;
                while (true)
                {
                    // 接続
                    try
                    {
                        using (var n = NotifyStorage.NotifyManually("@" + info.ScreenName + ": インターネットへの接続を確認しています..."))
                        {
                            while (!NetworkInterface.GetIsNetworkAvailable())
                            {
                                info.ConnectionState = ConnectionState.WaitNetwork;
                                ConnectionManager.OnConnectionStateChanged(EventArgs.Empty);
                                // ネットワークが利用可能になるまでポーリング
                                Thread.Sleep(10000);
                            }
                        }

                        using (var n = NotifyStorage.NotifyManually("@" + info.ScreenName + ": 接続のテストをしています..."))
                        {
                            info.ConnectionState = ConnectionState.WaitTwitter;
                            ConnectionManager.OnConnectionStateChanged(EventArgs.Empty);
                            try
                            {
                                if (!ApiHelper.ExecApi(() => info.Test()))
                                    throw new Exception();
                            }
                            catch
                            {
                                throw new WebException("Twitterが応答を停止しています。");
                            }
                        }

                        using (var n = NotifyStorage.NotifyManually("@" + info.ScreenName + ": 接続しています..."))
                        {
                            info.ConnectionState = ConnectionState.TryConnection;
                            ConnectionManager.OnConnectionStateChanged(EventArgs.Empty);
                            System.Diagnostics.Debug.WriteLine("User Streams Connection with Track: " + track);
                            connection = streamingCore.ConnectNew(
                                info, StreamingDescription.ForUserStreams(TwitterDefine.UserStreamsTimeout,
                                track: track, repliesAll: info.AccountProperty.UserStreamsRepliesAll));
                        }
                    }
                    catch (WebException we)
                    {
                        if ((int)we.Status == 420)
                        {
                            // 多重接続されている
                            throw new WebException("@" + info.ScreenName + ": 多重接続されています。接続できません。");
                        }

                        if (we.Status == WebExceptionStatus.Timeout) // タイムアウト例外なら再試行する
                        {
                            NotifyStorage.Notify("@" + info.ScreenName + ": User Streams接続がタイムアウトしました。再試行します...");
                        }
                        else
                        {
                            string descText = we.Status.ToString();
                            if (we.Status == WebExceptionStatus.UnknownError)
                            {
                                descText = we.Message;
                            }
                            if (we.Status == WebExceptionStatus.ProtocolError)
                            {
                                var hwr = we.Response as HttpWebResponse;
                                if (hwr != null)
                                {
                                    descText += " - " + hwr.StatusCode + " : " + hwr.StatusDescription;
                                }
                            }
                            throw new WebException("接続に失敗しました。(" + descText + ")");
                        }
                    }
                    catch
                    {
                        throw;
                    }

                    if (connection != null)
                    {
                        // Connection successful
                        info.ConnectionState = ConnectionState.Connected;
                        ConnectionManager.OnConnectionStateChanged(EventArgs.Empty);
                        return;
                    }

                    if (failureWaitSec > 0)
                    {
                        if (failureWaitSec > Setting.Instance.ConnectionProperty.UserStreamsConnectionFailedMaxWaitSec)
                        {
                            throw new WebException("User Streamsへの接続に失敗しました。");
//.........这里部分代码省略.........
开发者ID:deflis,项目名称:Mystique,代码行数:101,代码来源:UserStreamsConnection.cs


注:本文中的Inscribe.Authentication.AccountInfo.Test方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。