Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用缓存类设置我的基类_C#_Asp.net Mvc 3_Base Class - Fatal编程技术网

C# 使用缓存类设置我的基类

C# 使用缓存类设置我的基类,c#,asp.net-mvc-3,base-class,C#,Asp.net Mvc 3,Base Class,我试图使用Ardalis示例构建一个缓存类 我得到的错误是它没有参数。我能想出如何通过顶部 类的缓存部分没有错误,基类可以工作 我在复课的上半部分做错了什么。我怎么继承错了 谢谢你的帮助 解决此问题的存储库类 public class TweetSearchCache : TweetSearch { // SingleUserAuthorizer auth; public TweetSearchCache() : base //(SingleUserAuthoriz

我试图使用Ardalis示例构建一个缓存类

我得到的错误是它没有参数。我能想出如何通过顶部

类的缓存部分没有错误,基类可以工作

我在复课的上半部分做错了什么。我怎么继承错了

谢谢你的帮助

解决此问题的存储库类

   public class TweetSearchCache : TweetSearch  
  {
   // SingleUserAuthorizer auth;

    public TweetSearchCache() : base //(SingleUserAuthorizer auth) 
    {



    }

    private static readonly object CacheLockObject = new object();
    public override List<Search>  GetTweets()
   {

        string cacheKey = "GetSearch";



        var result = HttpRuntime.Cache[cacheKey] as List<Search>;

        if (result == null)
        {
            lock (CacheLockObject)
            {
                result = HttpRuntime.Cache[cacheKey] as List<Search>;

                if (result == null)
                {

                    result = base.GetTweets().ToList();                                            

                    HttpRuntime.Cache.Insert(cacheKey, result, null,

                  DateTime.Now.AddMinutes(2), TimeSpan.Zero);

                }

            }
        }


        return result;



    }

  }
基类

    public class TweetSearch
    {
     private readonly SingleUserAuthorizer _auth;

      public TweetSearch(SingleUserAuthorizer auth)
    {
        _auth = auth;
    }


    public virtual List<Search> GetTweets()
    {
        string hashTerm = "#searchterm";

        string rejectedWords = "Searchterm";


        using (var twitterCtx = new TwitterContext(_auth))
        {
            var queryResults = (from search in twitterCtx.Search
                                where search.Type == SearchType.Search &&
                                      search.Hashtag == hashTerm ||
                                    //   search.Query == twitQuery ||
                                    //   search.WordPhrase == twitPhrase ||
                                      search.WordNot == rejectedWords &&

                                      search.ShowUser == true &&
                                      search.IncludeEntities == true &&
                                      search.Locale == "EN" &&
                                       search.PageSize == 100
                                select search).ToList();

            return queryResults;//.ToList();
        }



    }

您可能应该阅读更多关于基本C语法的内容。参数可以来自派生构造函数中的参数,也可以使用静态字段、属性或方法构建它。第一个示例显示来自派生构造函数的基参数。第二个示例显示了静态方法的使用

public TweetSearchCache(SingleUserAuthorizer auth) : base(auth) {
// ...
}


谢谢你,第一个成功了。我让班上其他同学也一起工作。谢谢你的帮助,让我看到了未来,我不知道我还需要通过单认证课程
public TweetSearchCache() : base(CreateAuth()) {
// ...
}

public static SingleUserAuthorizer CreateAuth() {
    SingleUserAuthorizer createdAuth = ...
    // ...
    return createdAuth;
}