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>属性。我现在不确定我更喜欢哪一种
使用自定义身份验证(可能与定期清除缓存相结合)是当前最好的选择。请随意创建一个问题,或让我知道这是一个功能,如果你想在这里