小编Sea*_*ell的帖子

寻找设计模式以自动执行重复的任务,例如登录/注销

我正在寻找一种设计模式来帮助简化我的代码。

我的代码使用HttpClient调用获取或发布信息的Web API,但是每个会话都需要先进行一次登录调用,然后返回一个cookie作为ID,并在最后进行注销调用以关闭连接。因此,我的Web API类如下所示:

public class APIHelper 
{
    public HttpClient myClient { get; set; }

    public async void Login()
    {
        using (HttpResponseMessage response = await myClient.PostAsync("loginAddress", "loginInput"))
        {
            if (response.IsSuccessStatusCode)
            {                    
                //save cookie
            }
        }
    }

    public async void Logout()
    {
        using (HttpResponseMessage response = await myClient.PostAsync("logoutAddress", ""))
        {
            if (response.IsSuccessStatusCode)
            {                    
                //session ends
            }
        }
    }

    public void GetOrder()  {...}

    public void NewOrder(object OrderData)  {...}

    public void GetCustomer()   {...}

    public void NewCustomer(object CustomerData)    {...}
}
Run Code Online (Sandbox Code Playgroud)

为了使用它们,我只需按顺序调用它们:

public Main()
{ …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns httpclient

2
推荐指数
1
解决办法
46
查看次数

标签 统计

c# ×1

design-patterns ×1

httpclient ×1