0
我不太清楚如何修改this approach以生成動態計時器觀察值。無效:使用observables刷新AccessToken
較具體來說,我有兩種方法:
GetAccessToken()
RefreshAccessToken()
兩個返回OAuth2AccessTokenResponse
:
public class OAuth2AccessTokenResponse
{
private string tokenType;
private string accessToken;
private int expiresIn;
private string refreshToken;
private int refreshtokenExpiresIn;
}
所以,我需要刷新當前的accessToken之前expiresIn
以秒爲單位的屬性值。
我試圖讓我的做法,但我已經無法用意識得到任何東西:
this.accessTokenObservable = Observable
.Generate(
this.GetAccessToken(),
resp => true, //?????
resp => resp, //?????
resp => resp, //?????
resp => TimeSpan.FromSeconds(this.RefreshAccessToken().ExpiresIn) //?????
);
Sequencially:
response = this.GetAccessToken()
response.ExpiresIn
到期之前 - >response = this.RefreshAccessToken()
- 轉至
2.
GetAccessToken
和RefreshAccessToken
代碼:
internal OAuth2AccessTokenResponse GetAccessToken()
{
return new OAuth2AccessTokenResponse() {ExpiresIn = new Math.Random().Next(3,11)};
}
internal OAuth2AccessTokenResponse RefreshAccessToken()
{
return new OAuth2AccessTokenResponse() {ExpiresIn = new Math.Random().Next(3,11)};
}
你能提供[mcve]嗎?我需要能夠編寫適用於'GetAccessToken'和'RefreshAccessToken'的代碼,所以我需要所有類型。 – Enigmativity
你的意思是說你有'GetAccessToken'和'RefreshAccessToken'代碼對嗎? – Jordi
我的意思是我需要能夠複製,粘貼,然後編譯您的代碼,以便我可以使用它。現在,當我複製你發佈的內容時,我會遇到一些錯誤。 IRestClient,RestSharp,this.settings,IRestRequest,AccessTokenRequest,IRestResponse,RefreshTokenRequest和this.CheckResponse都是未定義的。您應該讓我們輕鬆回答您的問題。 [mcve]意味着我會編譯代碼。 – Enigmativity