C# 如何将Manatee.Trello与多个用户帐户一起使用?

C# 如何将Manatee.Trello与多个用户帐户一起使用?,c#,.net,trello,manatee.trello,C#,.net,Trello,Manatee.trello,我一直在尝试以下方法来检索数据: void InitializeTrello() { TrelloConfiguration.Serializer = new ManateeSerializer(); TrelloConfiguration.Deserializer = new ManateeSerializer(); TrelloConfiguration.JsonFactory = new ManateeFactory();

我一直在尝试以下方法来检索数据:

    void InitializeTrello()
    {
        TrelloConfiguration.Serializer = new ManateeSerializer();
        TrelloConfiguration.Deserializer = new ManateeSerializer();
        TrelloConfiguration.JsonFactory = new ManateeFactory();
        TrelloConfiguration.RestClientProvider = new Manatee.Trello.WebApi.WebApiClientProvider();
        TrelloConfiguration.ThrowOnTrelloError = true;
    }

    T DownloadDataFromTrello<T>(TrelloAccount account, Func<T> func)
    {
        TrelloConfiguration.Cache.Clear();
        TrelloAuthorization.Default.AppKey = account.AppKey;
        TrelloAuthorization.Default.UserToken = account.UserToken;
        T result = func();
        TrelloProcessor.Flush();
        return result;
    }
void InitializeTrello()
{
TrelloConfiguration.Serializer=新的ManateSerializer();
TrelloConfiguration.Deserializer=新的ManateSerializer();
TrelloConfiguration.JsonFactory=新的管理工厂();
TrelloConfiguration.RestClientProvider=新的Manatee.Trello.WebApi.WebApiClientProvider();
TrelloConfiguration.ThrowOnTrelloError=true;
}
T从Trello下载数据(TrelloAccount帐户,Func Func)
{
TrelloConfiguration.Cache.Clear();
TrelloAuthorization.Default.AppKey=account.AppKey;
TrelloAuthorization.Default.UserToken=account.UserToken;
T结果=func();
TrelloProcessor.Flush();
返回结果;
}
使用不同的
AppKey
UserToken
参数多次调用方法
DownloadDataFromTrello
。尽管在函数中调用了
TrelloConfiguration.Cache.Clear()
,但每次调用我都会收到相同的数据


我希望在使用库时不必使用卸载静态类的肮脏技巧,并保留延迟加载功能。有人知道如何正确地将此库与多个用户帐户一起使用吗?

所有实体构造函数都使用第二个参数:默认为
TrelloAuthorization.Default
TrelloAuthorization
。实体实例在其整个生命周期中使用此授权

var customAuth = new TrelloAuthorization
{
    AppKey = "your app key",
    UserToken = "a user's token"
}
var card = new Card("card id", customAuth);
默认缓存仅将实体ID视为密钥,因此,即使您更改默认授权,如果系统从缓存中提取相同的实例(例如,作为
列表.卡片
枚举的一部分下载卡片),您也可以获得相同的实例(使用旧身份验证)。如果通过构造函数显式创建实体(如上所述),则新实体将添加到缓存中,但仅返回第一个实体,因为它仅在ID上匹配

将Author视为密钥匹配,我必须更新默认缓存或公开Authe,这样就可以编写自己的缓存并设置<代码> TrrOfLoopy.Cache < /Cord>属性。我现在不确定我更喜欢哪一种


使用自定义身份验证(可能与定期清除缓存相结合)是当前最好的选择。请随意创建一个问题,或者在这里告诉我这是否是您想要的功能。

所有实体构造函数都使用第二个参数:默认为
TrelloAuthorization.Default
TrelloAuthorization
。实体实例在其整个生命周期中使用此授权

var customAuth = new TrelloAuthorization
{
    AppKey = "your app key",
    UserToken = "a user's token"
}
var card = new Card("card id", customAuth);
默认缓存仅将实体ID视为密钥,因此,即使您更改默认授权,如果系统从缓存中提取相同的实例(例如,作为
列表.卡片
枚举的一部分下载卡片),您也可以获得相同的实例(使用旧身份验证)。如果通过构造函数显式创建实体(如上所述),则新实体将添加到缓存中,但仅返回第一个实体,因为它仅在ID上匹配

将Author视为密钥匹配,我必须更新默认缓存或公开Authe,这样就可以编写自己的缓存并设置<代码> TrrOfLoopy.Cache < /Cord>属性。我现在不确定我更喜欢哪一种

使用自定义身份验证(可能与定期清除缓存相结合)是当前最好的选择。请随意创建一个问题,或让我知道这是一个功能,如果你想在这里