如何对多个用户帐户使用 Manatee.Trello?
How do I use Manatee.Trello with multiple user accounts?
我一直在尝试以下方法来检索数据:
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 视为密钥,因此即使您更改默认授权,如果系统从缓存中提取它们(例如,a卡片作为 List.Cards
枚举的一部分下载)。如果您通过构造函数显式创建实体(如上所述),新实体将添加到缓存中,但只会返回第一个实体,因为它仅在 ID 上匹配。
要将 auth 视为密钥的匹配项,我必须更新默认缓存或公开 auth,以便您可以编写自己的缓存并设置 TrelloConfiguration.Cache
属性.我不确定我现在更喜欢哪个。
使用自定义身份验证(可能结合定期清除缓存)目前是您的最佳选择。如果这是您想要的功能,请随时创建问题或在这里告诉我。
我一直在尝试以下方法来检索数据:
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 视为密钥,因此即使您更改默认授权,如果系统从缓存中提取它们(例如,a卡片作为 List.Cards
枚举的一部分下载)。如果您通过构造函数显式创建实体(如上所述),新实体将添加到缓存中,但只会返回第一个实体,因为它仅在 ID 上匹配。
要将 auth 视为密钥的匹配项,我必须更新默认缓存或公开 auth,以便您可以编写自己的缓存并设置 TrelloConfiguration.Cache
属性.我不确定我现在更喜欢哪个。
使用自定义身份验证(可能结合定期清除缓存)目前是您的最佳选择。如果这是您想要的功能,请随时创建问题或在这里告诉我。