僅當我發布時,azure 函式才出現問題。
代碼不按順序運行,所有功能同時運行。
前任 :
var logger = context.GetLogger(nameof(MibProposalRequest));
logger.Log(LogLevel.Warning, $"Début de la fonction : MibProposalRequest {DateTime.UtcNow}");
try
{
var getStringResponse = await this.GetStringAsync(req, logger).ConfigureAwait(false);
if (getStringResponse.Error != null)
{
return new HttpResponseMessage()
{
StatusCode = getStringResponse.Error.StatusCode,
ReasonPhrase = getStringResponse.Error.Message
};
}
else
{
var requestBody = getStringResponse.Response.ToString();
var deserializeRequestBodyResponse = await this.DeserializeRequestBodyAsync(requestBody, logger).ConfigureAwait(false);
if (deserializeRequestBodyResponse.Error != null)
{
return new HttpResponseMessage()
{
StatusCode = deserializeRequestBodyResponse.Error.StatusCode,
ReasonPhrase = deserializeRequestBodyResponse.Error.Message
};
}
在此示例中,我需要獲取函式 GETStringAsync 的回應,然后轉到函式:DeserializeRequestBodyAsync。
如果我在本地(除錯)中運行 azure 函式,則一切正常,一切正常。首先記錄函式啟動。獲取字串結束后反序列化物件。
但是當我發布該功能并對其進行測驗時,當我查看portal.azure 中的日志時。所有功能都運行不正常。所以有時我會從 deserializeObject 函式中得到一個錯誤,因為沒有要反序列化的字串。但它假設先執行 GetStringAsync 函式。
為什么這個附加? 日志影像
如您所見,功能啟動日志不是最先顯示的,為什么?看起來所有代碼都完全不按順序運行。
應該是這樣的: vs 除錯日志
一切都很好,每個功能都運行良好(所以沒有問題)
為什么僅在發布函式時才追加?
Ps:我試圖不異步地運行該功能,但沒有任何變化。PS2:我試圖將所有代碼放在同一個函式(運行)中,沒有任何改變。PS3:我試著把 task.wait 沒有任何改變。
我需要幫助請2天我在這。
uj5u.com熱心網友回復:
https://azure.microsoft.com/en-us/updates/general-availability-azure-functions-supports-net-5-in-production/?cdn=disable
根據我的經驗,在 .NET 5 上使用 Azure Functions 很痛苦。要么回滾到 3.1,要么等到 2021 年 11 月 9 日 .NET 6 發布預覽版。.NET 6 預覽版允許在 Azure 上進行測驗。
您是否在 Azure 中以隔離模式運行 .NET 5?見上面的鏈接。
“為了支持 .NET 5,Azure Functions 引入了一種新的隔離行程模型,該模型在 Azure Functions 主機運行時之外的單獨作業行程中運行 .NET 函式應用程式。”
uj5u.com熱心網友回復:
我剛剛在代碼中找到了一個解決方案:
List<ProposalIdModel> list = (List<ProposalIdModel>)deserializeGuidsAsyncResponse.Response ?? new List<ProposalIdModel>();
像這樣的串列雖然永遠不會為空。但是它在除錯時在 Visual Studio 中連接沒問題,但是當我發布某個時間時,串列會變為空。所以問題解決了。我也更新到 netCore6。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352325.html
上一篇:在ggplot2中有沒有辦法在彎曲的路徑上放置文本?
下一篇:異步和等待實作回傳失敗
