2016-08-19 39 views
2

我已經發出了PUT請求,並在RestSharp.PortableNullReferenceException我如何找到RestSharp PUT引發異常的原因?

using (var client = new RestClient(new Uri(BaseUri))) 
{ 
    var oAuth1Authenticator = OAuth1Authenticator.ForAccessToken(
     OAuthConsumerKey, 
     OAuthConsumerSecret, 
     oAuthToken", 
     oAuthSecret" 
    ); 

    client.Authenticator = oAuth1Authenticator; 

    var request = new RestRequest(lastPartUri, httpMethod); 

    request.AddJsonBody(body); 

    IRestResponse response = await client.Execute(request); 

    return response.Content; 
} 

IRestResponse response = await client.Execute(request);行拋出的異常。

OAuth params絕對不是null,也不是BaseUrilastPartUribodyDictionary<string, string>,也不爲空。

POSTGET具有相同參數的請求工作得很好。

貌似問題出在RestSharp庫。我怎麼找到它?

這裏是堆棧跟蹤:

at RestSharp.Portable.Authenticators.OAuth1Authenticator.<>c.<AddOAuthData>b__84_3(Parameter p) 
    at System.Linq.Enumerable.WhereListIterator`1.MoveNext() 
    at RestSharp.Portable.Authenticators.OAuth1Authenticator.AddOAuthData(IRestClient client, IRestRequest request, OAuthWorkflow workflow) 
    at RestSharp.Portable.Authenticators.OAuth1Authenticator.PreAuthenticate(IRestClient client, IRestRequest request, ICredentials credentials) 
    at RestSharp.Portable.RestClientBase.<ExecuteRequest>d__67.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at RestSharp.Portable.HttpClient.RestClient.<Execute>d__5.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Store.Helpers.MyBookApiConnector.<SendRequest>d__6.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Store.Services.DataService.<UpdateReview>d__80.MoveNext() 

Before exception After exception

+0

從stacktrace中,它看起來像是在'OAuthAutheticator'中發生空引用異常。提供給Authenticator的任何值的值是否爲null? –

+0

我不太瞭解C#,但不是OP在'var 01Auth ...'代碼塊後面缺少一個分號? – DrSatan1

+0

@LarsKristensen值不爲空。 我已更新問題。 –

回答

2

這的確是在圖書館中的錯誤。開發人員已經修復。

相關問題