在FlUrl中我尝试使用EnableCookies()并抛出一个空引用异常

时间:2016-06-22 22:37:34

标签: c# cookies async-await flurl

当我尝试执行时:

let num = 2, url= "stackoverflow.com/page/1";
url = url.replace(/(page\/)([0-9]{1,})/, "$1"+num)

我在EnableCookies()

上得到一个空引用异常

堆栈:

            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;
            }

我必须做更多或其他方式的事情?

我把它放在一个flurl错误处理程序上,但它没有捕获它(因为它是一个null ex)

我开始同时使用await / async和flurl ...抱歉,如果我犯了一个基本错误。

我以http://tmenier.github.io/Flurl/client-lifetime/

上的代码为例
   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)

1 个答案:

答案 0 :(得分:2)

您似乎发现了与最近更改地址this issue相关的错误。解决方法是使用基本URL来填充FlurlClient:

using (var fc = new FlurlClient(url).EnableCookies())

我会记录此问题并尽快解决,但显然无法按照文档记录。