我將API從免費計劃app service
移至基本計劃app service
並使用custom domain
和SSL certificate
。將Azure API應用程序移至自定義域後無法訪問Azure SQL數據庫
1)我看到我的API應用程序的狀態爲「正在運行」,驗證(AAD)工作正常
2)如果我打開它的API定義(即* /昂首闊步/文檔/ V1),這是工作
3)如果我嘗試不嘗試訪問後端Azure的SQL數據庫的請求,那麼它工作正常
4)如果我使用調用請求後端Azure的SQL數據庫(它移動API工作之前到自定義域)它失敗,出現此錯誤:
{"The underlying provider failed on Open., StackTrace: at System.Data.Entity.Core.EntityClient.EntityConnection.Open()\r\n at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions)\r\n at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func
1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)\r\n at System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass65
1.b__63()\r\n at System.Data.Entity.Infrastructure.DbExecutionStrategy.Execute[TResult](Func1 operation)\r\n at System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQueryReliably[TElement](String commandText, String entitySetName, ExecutionOptions executionOptions, Object[] parameters)\r\n at System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQuery[TElement](String commandText, ExecutionOptions executionOptions, Object[] parameters)\r\n at System.Data.Entity.Internal.InternalContext.<>c__DisplayClass14
1.b__13()\r\n at System.Data.Entity.Internal.LazyEnumerator1.MoveNext()\r\n at System.Collections.Generic.List
1..ctor(IEnumerable1 collection)\r\n at System.Linq.Enumerable.ToList[TSource](IEnumerable
1 source)\r\n
at P..Repositories.DataAccessLayer.DbContexts.P..DbContext.GetP..Dtos()\r\n at P..Repositories.Repositories.P..Repository.P..Repository..ctor()\r\n at P..API.Controllers.A..Controller.Get()"}]}
迄今爲止我發現的唯一一件事表明,由於防火牆規則,我的API無法訪問Azure SQL,但這聽起來不是一個選項,因爲我只是將自定義域分配給我的應用程序,我相信它是在Azure中的同一個「地方」......我沒有管理到目前爲止找到任何關於將API遷移到自定義域時有關Azure SQL db連接的建議...
任何想法?