2017-06-12 22 views
0

我們能否將webrequest對象傳遞到servicebus隊列?我們能否將webrequest對象傳遞到servicebus隊列?

var WebRequest = WebRequest.Create("http://test.com/test"); 
      var connectionString = "xxx"; 
      var queueName = "xxx"; 

      var client = QueueClient.CreateFromConnectionString(connectionString, queueName); 
      try 
      { 
       var message = new BrokeredMessage(WebRequest.GetRequestStream()); 

       client.Send(message); 
      } 
      catch (Exception ex) 
      { 
       Console.Write("error found"); 
      } 

回答

0

變種消息=新BrokeredMessage(WebRequest.GetRequestStream());

client.Send(message);

據我所知,WebRequest.GetRequestStream()返回一個ConnectStream,它是一個只寫流。

enter image description here

如果調用QueueClient.Send method與你爲的BodyStream傳遞到服務總線隊列的流發送消息,該SDK將讀取和序列化的BodyStream,但GetRequestStream方法返回的流不支持讀取。

通常情況下,我們不會對請求流做任何處理但寫入它,您能否解釋將請求流保存在隊列消息中的實際目標?

+0

我正在創建通用組件,它應該將網絡請求推入天青隊列中。我需要這樣做,而不會丟失任何信息,比如丟失的帖子數據,例如數據可能是XML,json等。 – Skull

+0

我正在創建這個用於處理長時間運行的請求在後臺長時間運行的過程中,如報告生成。如果請求遇到服務器(後端),我會在將請求排入Azure隊列後以成功響應。 – Skull

+0

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''請求URL和請求方法等,以及存儲在Blob中的XML(或json)文件的URL。然後後端可以根據隊列消息發出請求。 –

相關問題