0
發出的請求我正在使用<send-request>
策略發出請求,並且需要檢查請求的狀態代碼。爲此,我試圖訪問response-variable-name
的StatusCode屬性。但是,使用該代碼時 -訪問狀態代碼或使用<發送請求>
context.Variables["LogFailedEvent"].StatusCode
我看到這個錯誤 -
錯誤元件'設置身體上線83,第4欄:「對象」不包含定義關於「的StatusCode」和沒有擴展方法「的StatusCode」接受類型「對象」的第一個參數可以發現
按照docs -
response-variable-name
屬性用於訪問返回的響應。此屬性中定義的名稱可用作context.Variables
字典中的鍵,以訪問IResponse
對象。
要麼我誤解了文檔中的內容,要麼文檔錯誤。有人能夠提出解決方案嗎?
從政策有關章節
<choose>
<when condition="@(context.Response.StatusCode != 201 && context.Response.StatusCode != 202)">
<send-request mode="new" response-variable-name="LogFailedEvent" timeout="20" ignore-error="true">
<set-url>@(string.Format("{0}{1}?code={2}&statusCode={3}&statusReason={4}&message={5}", "{{BVT_LogEventsFailedFunction_Url}}", "{{BVT_LogEventsFailedFunction_Template}}", "{{BVT_LogEventsFailedFunction_Code}}", context.Response.StatusCode, context.Response.StatusReason, context.Response.Body.As<string>()))</set-url>
<set-method>POST</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
<set-body>@(context.Request.Body.As<string>())</set-body>
</send-request>
<set-body>@(string.Format("{{\"message\":\"event captured by LogFailedEvents\",\"requestId\":\"{0}\",\"statusCode\":\"{1}\",}}", context.RequestId.ToString(), context.Variables["LogFailedEvent"].StatusCode))</set-body>
</when>
</choose>
謝謝,這是工作。 –