Home » Устранение неполадок «:( Ошибка приложения» после самого первого развертывания

Устранение неполадок «:( Ошибка приложения» после самого первого развертывания

Существуют различия между запуском сайта CMS 12/Commerce 14 локально и в DXP. Ваш сайт может работать локально, и вы следовали https://docs.developers.optimizely.com/digital-experience-platform/docs/creating-a-new-cms-site-and-deploying для развертывания самого первого пакета в вашей среде интеграции DXP, но сайт не может быть запущен.

Домашняя страница сайта возвращается

и поток логов из DXP возвращается

2023-03-29T17:01:35.805270361Z info: EPiServer.Framework.Initialization.InitializationEngine[0]

2023-03-29T17:01:35.805331662Z       Initialization started

2023-03-29T17:01:51.109499486Z fail: EPiServer.Framework.Initialization.InitializationEngine[0]

2023-03-29T17:01:51.116283188Z       Initialize action failed for 'Initialize on class EPiServer.Data.DataInitialization, EPiServer.Data, Version=12.12.1.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7'

2023-03-29T17:01:51.116757895Z       Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)

2023-03-29T17:01:51.117438105Z        ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000005, 0xFFFDFFFF): Name or service not known

2023-03-29T17:01:51.117457305Z          at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, ValueStopwatch stopwatch)

2023-03-29T17:01:51.117463405Z          at System.Net.Dns.GetHostAddresses(String hostNameOrAddress, AddressFamily family)

2023-03-29T17:01:51.118171016Z          at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)

2023-03-29T17:01:51.118188116Z          at Microsoft.Data.SqlClient.SNI.SNICommon.GetDnsIpAddresses(String serverName)

2023-03-29T17:01:51.118563822Z          at Microsoft.Data.SqlClient.SNI.SNITCPHandle.Connect(String serverName, Int32 port, TimeSpan timeout, Boolean isInfiniteTimeout, SqlConnectionIPAddressPreference ipPreference, String cachedFQDN, SQLDNSInfo& pendingDNSInfo)

2023-03-29T17:01:51.119198131Z          at Microsoft.Data.SqlClient.SNI.SNITCPHandle..ctor(String serverName, Int32 port, Int64 timerExpire, Boolean parallel, SqlConnectionIPAddressPreference ipPreference, String cachedFQDN, SQLDNSInfo& pendingDNSInfo, Boolean tlsFirst, String hostNameInCertificate)

2023-03-29T17:01:51.119217632Z          at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

2023-03-29T17:01:51.119224132Z          at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

2023-03-29T17:01:51.119229632Z          at Microsoft.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnectionString connectionOptions, Boolean withFailover)

2023-03-29T17:01:51.119235032Z          at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)

2023-03-29T17:01:51.119239832Z          at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)

2023-03-29T17:01:51.119262132Z          at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)

2023-03-29T17:01:51.119267432Z          at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool)

2023-03-29T17:01:51.119273733Z          at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)

2023-03-29T17:01:51.119278733Z          at Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)

2023-03-29T17:01:51.119283933Z          at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

2023-03-29T17:01:51.119288933Z          at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)

2023-03-29T17:01:51.119293233Z          at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)

2023-03-29T17:01:51.119298033Z          at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)

2023-03-29T17:01:51.119302433Z          at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)

2023-03-29T17:01:51.119307533Z          at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

2023-03-29T17:01:51.119312533Z          at Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

2023-03-29T17:01:51.119317633Z          at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)

2023-03-29T17:01:51.119322033Z          at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)

2023-03-29T17:01:51.119326333Z          at Microsoft.Data.SqlClient.SqlConnection.Open()

2023-03-29T17:01:51.119336934Z          at EPiServer.Data.Providers.Internal.ConnectionContext.b__15_0()

2023-03-29T17:01:51.119341734Z          at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)

2023-03-29T17:01:51.119346034Z          at EPiServer.Data.Providers.Internal.ConnectionContext.OpenConnection()

2023-03-29T17:01:51.119350734Z          at EPiServer.Data.Internal.DefaultConnectionContextHandler.CreateConnectionScope(Boolean requireTransaction, Action completeAction)

2023-03-29T17:01:51.119355534Z          at EPiServer.Data.Internal.ConnectionScopeResolver.GetConnectionScope(Boolean requireTransaction)

2023-03-29T17:01:51.119359934Z          at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.GetConnection(Boolean requireTransaction)

2023-03-29T17:01:51.119364734Z          at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass24_0`1.b__0()

2023-03-29T17:01:51.119370034Z          at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)

2023-03-29T17:01:51.119374334Z          at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.Execute[TResult](Func`1 action)

2023-03-29T17:01:51.119378634Z          at EPiServer.Data.SchemaUpdates.Internal.DatabaseVersionRetriever.GetDatabaseVersion(Boolean forceRefresh)

2023-03-29T17:01:51.119382834Z          at EPiServer.Data.SchemaUpdates.Internal.DatabaseVersionValidator.GetStatus(IEnumerable`1 connectionStringOptions)

2023-03-29T17:01:51.119387334Z          at EPiServer.Data.SchemaUpdates.Internal.DatabaseSchemaManagerImplementation.<>c__DisplayClass6_0.b__0(ISchemaUpdater u)

2023-03-29T17:01:51.119392534Z          at System.Linq.Enumerable.SelectIPartitionIterator`2.ToList()

2023-03-29T17:01:51.119396834Z          at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

2023-03-29T17:01:51.119742240Z          at EPiServer.Data.SchemaUpdates.Internal.DatabaseSchemaManagerImplementation.EnsureDatabaseSchema(DataAccessOptions dataAccessOptions)

2023-03-29T17:01:51.119764740Z          at EPiServer.Data.DataInitialization.ValidateDatabaseSchema(InitializationEngine context)

2023-03-29T17:01:51.119770940Z          at EPiServer.Data.DataInitialization.Initialize(InitializationEngine context)

2023-03-29T17:01:51.120378249Z          at EPiServer.Framework.Initialization.Internal.ModuleNode.<>c__DisplayClass4_0.b__0()

2023-03-29T17:01:51.120418850Z          at EPiServer.Framework.Initialization.Internal.ModuleNode.Execute(Action a, String key)

2023-03-29T17:01:51.120424950Z          at EPiServer.Framework.Initialization.Internal.ModuleNode.Initialize(InitializationEngine context)

2023-03-29T17:01:51.120429850Z          at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()

2023-03-29T17:01:51.120434550Z       ClientConnectionId:00000000-0000-0000-0000-000000000000

У вас нет доступа администратора к DXP. Как это проверить?

Read more:  Стрельба в торговом центре Бангкока: 14-летний подозреваемый предположительно ходил на тренировку по обращению с оружием перед инцидентом

интересно пусто Генератор мемов - Imgflip

Обычно с инфраструктурой все в порядке, поскольку она довольно проста и предоставляется службой автоматизации. В коде приложения могут быть ошибки, из-за которых оно не может подключиться к ресурсам DXP.

Локально у вас есть база данных CMS и Commerce, и вы указываете на них код приложения с помощью конфигурации в файле appsettings.json или конфигурируя их программно.

В DXP из соображений безопасности Optimizely не предоставляла строку подключения вашим базам данных для непосредственной настройки.

Пакет EPiServer.CloudPlatform.The Cms необходимо установить и
вызов

public void ConfigureServices(
    IServiceCollection services,
    IConfiguration configuration,
    IWebHostEnvironment env)
{
    ...
    if (!env.IsDevelopment())
    {
        services.AddCmsCloudPlatformSupport(configuration);
    }
}

в методе ConfigureServices в файле Startup.cs, чтобы внедрить конфигурации DXP (служба приложений Azure) в переменную конфигурации для последующего использования.

Однако файл program.cs и файлы startup.cs могут иметь сложную настройку и исключения, такие как «EPiServer.Data.DataInitialization failed», и «Microsoft.Data.SqlClient.SqlException» будет выдано, когда служба приложений не сможет найти необходимый Azure. База данных SQL или большой двоичный объект Azure после вызова AddCmsCloudPlatformSupport в средах DXP.

Существует хитрость, позволяющая локально отлаживать AddCmsCloudPlatformSupport без проб и ошибок при развертывании на DXP.

Создайте профиль запуска для среды интеграции (аналогично среде интеграции DXP).

{
  "profiles": {
    "FakeDXP": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Integration",
        "CONNECTIONSTRINGS__EPISERVERAZUREBLOBS": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",
        "CONNECTIONSTRINGS__EPISERVERDB": "Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\QuickSilver.mdf;Initial Catalog=QuickSilver;Integrated Security=True;Connect Timeout=30",
        "CONNECTIONSTRINGS__ECFSQLCONNECTION": "Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\QuickSilver.Commerce.mdf;Initial Catalog=QuickSilver.Commerce;Integrated Security=True;Connect Timeout=30"
      },
      "applicationUrl": "https://localhost:5000/"
    }
  }
}

В конфигурации строка подключения большого двоичного объекта Azure эмулируется Азурит.

Набор services.AddEventProvider() в файле Startup.cs, так как нет возможности эмулировать служебную шину Azure локально.

public void ConfigureServices(
    IServiceCollection services,
    IConfiguration configuration,
    IWebHostEnvironment env)
{
    ...
    if (!env.IsDevelopment())
    {
        services.AddCmsCloudPlatformSupport(configuration);
        services.AddEventProvider():
    }
}

После вызова функции AddCmsCloudPlatformSupport строки подключения из переменных среды можно отладить и проверить, были ли они введены правильно.

06 мая 2023 г.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.