通过302响应重定向时,Azure V2计时器功能不适用于httpclient进度

时间:2018-10-12 05:31:55

标签: azure-functions dotnet-httpclient

由于文件很大,我试图HTTP GET并添加一个进度处理程序以查看进度,但是我无法使它正常工作,下载字节后似乎没有触发作用。 / p>

我在做什么错了?

注意,这是Azure V2 Timer Function

namespace NWPimDataFeeder
{
   public static class PimDataFeeder
  {
    [FunctionName("PimDataFeeder")]
    public static async System.Threading.Tasks.Task RunAsync([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log)
{
    log.Info($"C# Timer trigger function executed at: {DateTime.Now}");

    var processMsgHander = new ProgressMessageHandler(new HttpClientHandler());
    processMsgHander.HttpSendProgress += (sender, e) =>
    {
        //add your codes base on e.BytesTransferred and e.ProgressPercentage
    };

     processMsgHander.HttpReceiveProgress += (sender, e) =>
    {
        log.Info(e.BytesTransferred.ToString());
    };

    using (HttpClient client = new HttpClient(processMsgHander))
    {
        log.Info($"C# Timer trigger function in the using executed at: {DateTime.Now}");
        HttpResponseMessage file = await client.GetAsync("https://example.com/api/blaha");
        var JsonLineFile = await file.Content.ReadAsStringAsync();
        log.Info(JsonLineFile);
      } 
    }
  }
}

---编辑- 如果该文件在原始位置可用,则该代码可以正常工作,但是我的响应是302重定向,由于某种原因未遵循该命令,因此我的变量包含重定向HTML页面的HTML内容,而与重定向后的目标内容相反,我该如何解决?

0 个答案:

没有答案