3
我正在使用流式方法來模擬服務器和客戶端之間的實時通信。當我直接從web api獲取流時,它工作正常。但是當我嘗試通過azure api管理接收消息時,它會返回最後~20分鐘的消息包。 它的Web API方法:通過Azure 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()
那麼,它可能以某種方式配置蔚藍API管理來返回流沖洗消息() ?