gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:38:47 24 4
gpt4 key购买 nike

我是一名新的 C# 开发人员,我正在尝试重新使用我基于 ASP.NET 和 C# 中的终极 RestSharp 客户端构建的 API 客户端 说明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 客户端而苦恼。您能告诉我如何使用它以及如何应用依赖注入(inject)吗?

最佳答案

你不能像那样访问非静态方法。首先,您必须初始化 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);

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

关于c# - 如何在 ASP.NET 和 C# 中重用这个基于 Ultimate RestSharp 客户端的 API 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49900063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com