Невозможно запустить решение Kentico локально - PullRequest
0 голосов
/ 13 июня 2018

Ситуация : я работаю над сайтом, который недавно был обновлен с Kentico 8.2 до Kentico 9, а затем с Kentico 9 до Kentico 10. Однако, согласно журналам обновлений, все обновления были успешными, однако, Kentico SmartSearch больше не работает после обновлений Ошибка: «Ошибка загрузки веб-части SearchBox типа SearchBox».

Цель : Моя цель - создать копию для разработкиживого веб-сайта на моем локальном компьютере, чтобы я мог исправить проблему и протестировать ее локально, и я не уверен, как это сделать.

Проблема : я запросил точный клонпапки, решения и базы данных с живого веб-сайта, я импортировал базу данных на свой sql-сервер, и после этого я открыл решение в Visual Studio 2017 Community Edition, обновил CMSConnectionString, чтобы он соответствовал новому пути базы данных, и я 'Я пытался создать решение, были некоторые ошибки, которые я исправил, обновив имена ссылок, remoс помощью устаревших и на данный момент решение создается без ошибок, однако я не могу запустить его на своем локальном компьютере, при каждом запуске на локальном компьютере возникает следующее исключение:

 Object reference not set to an instance of an object.
 Description: An unhandled exception occurred during the execution of the 
 current web request. Please review the stack trace for more information 
 about the error and where it originated in the code. 

 Exception Details: System.NullReferenceException: Object reference not set 
 to an instance of an object.

 Source Error: 

 An unhandled exception was generated during the execution of the current 
 web request. Information regarding the origin and location of the exception 
 can be identified using the exception stack trace below.

 Stack Trace: 


 [NullReferenceException: Object reference not set to an instance of an 
 object.]
 CMS.URLRewritingEngine.URLRewriter.RewriteUrl(String relativePath, 
 ExcludedSystemEnum excludedEnum, SiteNameOnDemand siteName, 
 ViewModeOnDemand viewMode) +2387
 CMS.URLRewritingEngine.URLRewriter.RewriteUrl(RequestStatusEnum status, 
 String relativePath, ExcludedSystemEnum excludedEnum) +61
 CMS.URLRewritingEngine.URLRewritingHandlers.RewriteUrl(Object sender, 
 EventArgs e) +50
 CMS.Base.AbstractHandler.CallEventHandler(EventHandler'1 h, TArgs e) +100
 CMS.Base.AbstractHandler.Raise(String partName, List'1 list, TArgs e, 
 Boolean important) +714
 CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e) +100
 CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e) +143
 CMS.Base.SimpleHandler'2.StartEvent(TArgs e) +217
 CMS.Base.ApplicationModule.PostResolveRequestCache(Object sender, EventArgs 
 e) +16
 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep 
.Execute() +201
  System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +132
 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& 
completedSynchronously) +73

После проверки журналов IIS :

Я проверил журналы событий IIS, и когда я пытаюсь запустить веб-сайт 2 события происходят, я думаю, что это связано с некоторой ошибкой конфигурации от моего именино я не могу понять, чего не хватает, поэтому вот следующие элементы в средстве просмотра событий

1 - ИНФОРМАЦИЯ:

 Event code: 4005 
 Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid. 
 Event time: 6/8/2018 11:13:12 AM 
 Event time (UTC): 6/8/2018 10:13:12 AM 
 Event ID: 75f3f8236cca48e0b7d9156a7f648fc1 
 Event sequence: 2 
 Event occurrence: 1 
 Event detail code: 50201 

Application information: 
  Application domain: /LM/W3SVC/1/ROOT/Kentico10-1-131729263846745120 
  Trust level: Full 
  Application Virtual Path: /Kentico10 
  Application Path: C:\inetpub\wwwroot\Kentico10\CMS\ 
  Machine name: FAKENAME
Process information: 
  Process ID: 1392 
  Process name: w3wp.exe 
  Account name: FAKEDOMAIN\Jony.Bimbinz 

Request information: 
  Request URL: http://localhost/Kentico10 
  Request path: /Kentico10 
  User host address: ::1 
  User:  
  Is authenticated: False 
  Authentication Type:  
  Thread account name: FAKEDOMAIN\Jony.Bimbinz 

Name to authenticate:  

Custom event details: 

2 - ПРЕДУПРЕЖДЕНИЕ (То же, что и исходное исключение):

 Event code: 3005     
 Event message: An unhandled exception has occurred.     
 Event time: 6/8/2018 11:54:58 AM     
 Event time (UTC): 6/8/2018 10:54:58 AM     
 Event ID: b16d590261134c3c9b988bdb01a24b73    
 Event sequence: 4     
 Event occurrence: 1     
 Event detail code: 0

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/Kentico10-1-131729288917669454 
    Trust level: Full 
    Application Virtual Path: /Kentico10 
    Application Path: C:\inetpub\wwwroot\Kentico10\CMS\ 
    Machine name: FAKENAME 

Process information: 
    Process ID: 9336 
    Process name: w3wp.exe 
    Account name: FAKEDOMAIN\Jony.Bimbinz

Exception information: 
    Exception type: NullReferenceException 
    Exception message: Object reference not set to an instance of an object.
   at CMS.URLRewritingEngine.URLRewriter.RewriteUrl(String relativePath, ExcludedSystemEnum excludedEnum, SiteNameOnDemand siteName, ViewModeOnDemand viewMode)
   at CMS.URLRewritingEngine.URLRewriter.RewriteUrl(RequestStatusEnum status, String relativePath, ExcludedSystemEnum excludedEnum)
   at CMS.URLRewritingEngine.URLRewritingHandlers.RewriteUrl(Object sender, EventArgs e)
   at CMS.Base.AbstractHandler.CallEventHandler[TArgs](EventHandler'1 h, TArgs e)
   at CMS.Base.AbstractHandler.Raise[TArgs](String partName, List'1 list, TArgs e, Boolean important)
   at CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e)
   at CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e)
   at CMS.Base.SimpleHandler'2.StartEvent(TArgs e)
   at CMS.Base.ApplicationModule.PostResolveRequestCache(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)



  Request information: 
    Request URL: http://localhost/Kentico10 
    Request path: /Kentico10 
    User host address: ::1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: FAKEDOMAIN\Joao.Ferreira 

Thread information: 
    Thread ID: 10 
    Thread account name: FAKEDOMAIN\Jony.Bimbinz
    Is impersonating: False 
    Stack trace:    at CMS.URLRewritingEngine.URLRewriter.RewriteUrl(String relativePath, ExcludedSystemEnum excludedEnum, SiteNameOnDemand siteName, ViewModeOnDemand viewMode)
   at CMS.URLRewritingEngine.URLRewriter.RewriteUrl(RequestStatusEnum status, String relativePath, ExcludedSystemEnum excludedEnum)
   at CMS.URLRewritingEngine.URLRewritingHandlers.RewriteUrl(Object sender, EventArgs e)
   at CMS.Base.AbstractHandler.CallEventHandler[TArgs](EventHandler'1 h, TArgs e)
   at CMS.Base.AbstractHandler.Raise[TArgs](String partName, List'1 list, TArgs e, Boolean important)
   at CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e)
   at CMS.Base.SimpleHandler'2.RaiseExecute(TArgs e)
   at CMS.Base.SimpleHandler'2.StartEvent(TArgs e)
   at CMS.Base.ApplicationModule.PostResolveRequestCache(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Custom event details:

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Основная проблема Основная проблема возникла из-за неправильной настройки культуры в приложении "Сайты", также отсутствовала главная страница для культуры по умолчанию, поэтому при попадании по пути "/" в исключениебыл брошен.

Также была проблема с «Проверка подлинности с помощью форм для запроса. Причина: предоставленный билет был недействительным».исключение, и мне удалось это исправить, сгенерировав новый ключ machineKey в IIS и отредактировав с ним файл web.config.

Решение: После обмена некоторыми электронными письмами с поддержкой Kentico мне посоветоваличтобы уменьшить масштаб с SSL, чтобы сайт работал на http: // (даже если в настройках CMS использовался https), и я изменил файл web.config:

<httpCookies httpOnlyCookies="true" requireSSL="false" />

изменил настройки IIS, чтобы разрешить http.

С этого момента я смог наконец войти на страницу администрирования, которая больше не выдает ошибку недопустимого веб-сайта, и я смог:

  • Измените домен на localhost в приложении Сайты.
  • Изменение культуры по умолчанию в приложении "Сайты".
  • Копирование и публикация главной страницы в правильную культуру.

И теперь сайт работает так, как долженУ меня все еще есть проблемы с некоторыми таблицами стилей, но я считаю, что они не связаны с этим вопросом.

Я хотел бы поблагодарить всех, кто пытался помочь, особенно поддержку Kentico, которая была на месте!

0 голосов
/ 28 июня 2018

Если вы не можете запустить администратора, вам может потребоваться проверить, что localhost находится в вашей таблице CMS_LicenseKey, если нет, создайте новую запись в таблице, которая содержит те же данные, что и производственная, и измените licensedomain на localhost.Может быть вовлечен другой стол, но я не уверен?

...