(to jest krzyżowy post z forum umbraco.)

Zbudowałem witrynę i wszystko działa dobrze lokalnie. Właśnie wdrożyłem witrynę na platformie Azure i opublikowałem bazę danych przy użyciu funkcji Wdrażanie bazy danych programu SSMS w bazie danych Microsoft Azure SQL Database. Oba zakończone pomyślnie. Mogę zalogować się do umbraco i zobaczyć całą zawartość, którą miałem lokalnie w witrynie Azure, ale kiedy próbuję wejść na stronę główną, pojawia się YSOD z poniższym błędem.

Mogę zalogować się do CMS i zobaczyć całą swoją zawartość.

Co się dzieje? czego mi brakuje?

Błąd:

Server Error in '/' Application.
Cannot bind source content type Umbraco.Web.PublishedCache.NuCache.PublishedContent to model type Foo.PublishedContentModels.Home.
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: Umbraco.Web.Mvc.ModelBindingException: Cannot bind source content type Umbraco.Web.PublishedCache.NuCache.PublishedContent to model type Foo.PublishedContentModels.Home.

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:


[ModelBindingException: Cannot bind source content type Umbraco.Web.PublishedCache.NuCache.PublishedContent to model type Foo.PublishedContentModels.Home.]
   Umbraco.Web.Mvc.ContentModelBinder.ThrowModelBindingException(Boolean sourceContent, Boolean modelContent, Type sourceType, Type modelType) in D:\a\1\s\src\Umbraco.Web\Mvc\ContentModelBinder.cs:159
   Umbraco.Web.Mvc.ContentModelBinder.BindModel(Object source, Type modelType) in D:\a\1\s\src\Umbraco.Web\Mvc\ContentModelBinder.cs:94
   Umbraco.Web.Mvc.UmbracoViewPage`1.SetViewData(ViewDataDictionary viewData) in D:\a\1\s\src\Umbraco.Web\Mvc\UmbracoViewPageOfTModel.cs:152
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +99
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer) in D:\a\1\s\src\Umbraco.Web\Mvc\ProfilingView.cs:25
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
0
Greg B 17 grudzień 2019, 12:55

1 odpowiedź

To, co zrobiłem, to wyłączenie modelsBuilder z przekształceniem konfiguracji przechodzącym na platformę Azure bez zdawania sobie sprawy, że powoduje to wyłączenie modelu Binder oraz Model Builder :

<add key="Umbraco.ModelsBuilder.Enable" value="false" xdt:Locator="Match(key)" xdt:Transform="SetAttributes" />

Tak naprawdę chciałem opuścić Umbraco.ModelsBuilder.Enable == true i ustawić Umbraco.ModelsBuilder.ModelsMode == Nothing:

<add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" xdt:Locator="Match(key)" xdt:Transform="SetAttributes" />

Działa to zgodnie z oczekiwaniami.

1
Greg B 17 grudzień 2019, 17:20