我一直在尝试以下来检索数据:
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;
}
方法DownloadDataFromTrello
使用不同的AppKey
和UserToken
参数称为几次。尽管在功能中调用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视为键作为List.Cards
枚举的一部分下载)。如果您通过构造函数明确创建实体(如上所述),则将新实体添加到缓存中,但仅将第一个返回,因为它仅在ID上匹配。
要将auth视为键的匹配,我必须更新默认的缓存或公开auth,以便您可以编写自己的缓存并设置TrelloConfiguration.Cache
属性。我不确定现在喜欢哪个。
使用自定义验证(可能与定期清除缓存结合使用)是您当前的最佳选择。请随时创建问题,或者在这里让我知道这是您想要的功能。