加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何重用这个基于ASP.NET和C#中的Ultimate RestSharp客户端的API

发布时间:2020-12-16 09:43:55 所属栏目:asp.Net 来源:网络整理
导读:我是一名新的C#开发人员,我正在尝试重新使用我基于ASP.NET中的Ultimate RestSharp客户端构建的API客户端和C#解释 in this post.我能够创建文章中提到的所有类和先决条件,但我现在无法在我的应用程序中的某些地方使用客户端类 这是客户端代码: public class
我是一名新的C#开发人员,我正在尝试重新使用我基于ASP.NET中的Ultimate RestSharp客户端构建的API客户端和C#解释 in this post.我能够创建文章中提到的所有类和先决条件,但我现在无法在我的应用程序中的某些地方使用客户端类

这是客户端代码:

public class UsersClient : BaseClient
{
    public UsersClient (ICacheService cache,IDeserializer serializer,IErrorLogger errorLogger)
        : base(cache,serializer,errorLogger,"http://yourBaseUrl.com") { }

    public User GetByID(int id)
    {
        RestRequest request = new RestRequest("users/{id}",Method.GET);
        request.AddUrlSegment("id",id.ToString());
        return GetFromCache<User>(request,"User" + id.ToString());
    }

}

现在,当我试图在一些ASP.NET页面的代码隐藏中调用GetById方法时,我无法看到或访问此方法,我不知道为什么.这是我用来访问该方法的代码行:

string userId = "JohnA";
var user = UsersClient.GetById(userId);

那我怎么能访问这个方法呢?或者如何在我的应用程序上使用API??客户端?

更新:

我仍然在努力使用这个API客户端.你能否告诉我如何使用它以及如何应用依赖注入?

解决方法

您无法访问此类非静态方法.首先,您必须初始化UsersClient对象.

ICacheService cache = //initialize cache here
IDeserializer deserializer = //initialize deserializer here
IErrorLogger errorLogger = //initialize errorLogger here
UsersClient usersClient = new UsersClient(cache,deserializer,errorLogger); 

string userId = "JohnA"; 
var user = usersClient.GetById(userId);

我建议学习设计模式,如依赖注入和控制反转(已经使用,不确定它是否有意或无意识)并在这种情况下使用它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读