実行しようとすると:
using (var fc = new FlurlClient().EnableCookies())
{
var resp = "http://somesite.com".GetAsync();
// var getResp = await "http://api.foo.com".GetAsync();
var resultado = await resp;
var x = resultado;
}
EnableCookies() で null 参照例外が発生します
スタック:
en Flurl.Url.op_Implicit(Url url) en C:\Aldenteware\Flurl\code\Flurl\Url.cs:línea 315
en Flurl.Http.CookieExtensions.GetCookieContainer(FlurlClient client) en C:\Aldenteware\Flurl\code\Flurl.Http.Shared\CookieExtensions.cs:línea 145
en Flurl.Http.CookieExtensions.EnableCookies(FlurlClient client) en C:\Aldenteware\Flurl\code\Flurl.Http.Shared\CookieExtensions.cs:línea 23
en AfipProcesa.Form1.<flurlAsync>d__0.MoveNext() en c:\Users\fabian.LH\Documents\Visual Studio 2013\Projects\AfipProcesa\AfipProcesa\Form1.cs:línea 86
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
en AfipProcesa.Form1.<button1_Click>d__7.MoveNext() en c:\Users\fabian.LH\Documents\Visual Studio 2013\Projects\AfipProcesa\AfipProcesa\Form1.cs:línea 119
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
en System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state)
私はもっと何かをしなければなりませんか、それとも別の方法で?
flurlエラーハンドラーに配置しましたが、キャッチしません(null exであるため)
私は await/async と flurl を同時に使い始めています...基本的な間違いを犯していたらごめんなさい。
http://tmenier.github.io/Flurl/client-lifetime/のコードを例として使用します
using (var fc = new FlurlClient().EnableCookies())
{
await url
.AppendPathSegment("login")
.WithClient(fc)
.PostUrlEncodedAsync(new { user = "user", pass = "pass" });
var page = await url
.AppendPathSegment("home")
.WithClient(fc)
.GetStringAsync();
// Need to inspect the cookies? FlurlClient exposes them as a dictionary.
var sessionId = fc.Cookies["session_id"].Value;
}