我已將 .net 核心 Web api 部署到 Azure App 服務。沒有任何東西可以從資料庫中獲取的 API 的一個端點作業正常。
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet]
public JsonResult Get()
{
return new JsonResult("Test data 333"); // Works fine
// after deployment and get the data
}
}
但是必須從資料庫(Azure SQL 資料庫)獲取資料的 API 的另一個端點不起作用,并且我收到類似“ apiName.azurewebsites.net/api/controllerName/gtalbsds ”的錯誤,如下圖所示。但是相同的端點在連接字串中配置的 AZURE SQL 資料庫在本地運行良好。
應用設定.json
"DefaultConnection": "Server=tcp:<azureServereName>,1433;Initial Catalog=<myDBName>;
Persist Security Info=False;User ID=<CorrectUserName>;
Password=<correctPassword>;MultipleActiveResultSets=False;
Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
C# api 代碼如下
[Route("gtalbeds")]
[HttpGet]
public JsonResult Get()
{
ItemBasicDetailsList result = new ItemBasicDetailsList();
using (var context = new myDBContext(this._config))
{
var items = context.ItemBasicDetails.ToList();
if (items != null)
{
result = new ItemBasicDetailsList()
{
PackageFee = 150,
DeliveryFee = 0,
ItemBasicDetails = items
};
}
return new JsonResult(result);
}
}

uj5u.com熱心網友回復:
如果“防火墻設定”-> 允許 Azure 服務和資源訪問此服務器“為Yes,請檢查 Azure ,App 服務。如果設定為No,則將其更改為Yes。這將解決問題。

uj5u.com熱心網友回復:
我能夠解決它。實際上,在 Azure SQL 資料庫實體中,“防火墻設定”-> Allow Azure services and resources to access this server設定為No。將其設定為YES后,問題已解決。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410244.html
標籤:
下一篇:如何激活中間件
