【问题标题】:Streaming over Azure API Management通过 Azure API 管理流式传输
【发布时间】:2016-04-27 15:33:54
【问题描述】:

我正在使用流式传输方法来模拟服务器和客户端之间的实时通信。当我直接从 web api 获取流时它工作正常。但是,当我尝试通过 azure api 管理接收消息时,它会返回最后约 20 分钟的消息包。 是web api方法:

    [HttpGet]
    [Route("subscribe/{subscription}")]
    public HttpResponseMessage Subscribe(string subscription)
    {
        PushStreamContent eventStream = new PushStreamContent(delegate (Stream stream, HttpContent content, TransportContext context)
        {
            Subscribe(subscription, stream);
        }, new MediaTypeHeaderValue("text/event-stream"));
        HttpResponseMessage message = Request.CreateResponse(HttpStatusCode.OK);
        message.Content = eventStream;

        return message;
    }

为了获得流,我从谷歌浏览器控制台发送 XMLHttpRequest:

var request = new XMLHttpRequest()
request.open('get', 'https://{api}.azure-api.net/subscribe/hi', true)
request.setRequestHeader('Ocp-Apim-Subscription-Key','{subscription_key}')
request.onabort = function() { console.log('abort') }
request.onerror = function() { console.log('error') }
request.onprogress = function(e) { console.log(e) }
request.onload = function() { console.log('done') }
request.send()

那么是否有可能以某种方式配置 azure API 管理以在流 Flush() 上返回消息?

【问题讨论】:

    标签: javascript .net asp.net-web-api stream azure-api-management


    【解决方案1】:

    目前还没有,但我们将很快添加对流式传输场景的支持。我们会将公告发布到update feed。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      相关资源
      最近更新 更多