2016-07-06 14 views
5

Po uaktualnieniu moją stronę od 7,1 do 8,1 Mam pojawia się następujący komunikat o błędzie podczas opneing dowolną stronę w analityce expierence:Sitecore Doświadczenie Analytics Wykresy Issue

do «Graph Nazwa» wykres nie mogą zostać wyświetlone ze względu na serwerze

” błąd Skontaktuj się z administratorem systemu. "

następujące wywołanie pojawienia 500 błędu na konsoli przeglądarki:

http://sitename/sitecore/api/ao/aggregates/all/DC0DB760B0F54690B9EB1BBF7A4F7BD1/all?&dateGrouping=collapsed&&keyTop=8&keyOrderBy=valuePerVisit-Desc&dateFrom=07-04-2016&dateTo=05-07-2016&keyGrouping=by-key

Sprawdziłem logi i nie ma tam błąd serwera zalogowany!

Więcej informacji:

Komunikat o błędzie: „ValueFactory próbował uzyskać dostęp właściwość wartość tej instancji”

także

 " at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.GetControllerMapping() at System.Web.Http.Routing.AttributeRoutingMapper.AddRouteEntries(SubRouteCollection collector, HttpConfiguration configuration, IInlineConstraintResolver constraintResolver, IDirectRouteProvider directRouteProvider) at System.Web.Http.Routing.AttributeRoutingMapper.<>c__DisplayClass2.<>c__DisplayClass4.<MapAttributeRoutes>b__1() at System.Web.Http.Routing.RouteCollectionRoute.EnsureInitialized(Func`1 initializer) at System.Web.Http.Routing.AttributeRoutingMapper.<>c__DisplayClass2.<MapAttributeRoutes>b__0(HttpConfiguration config) at System.Web.Http.HttpConfiguration.ApplyControllerSettings(HttpControllerSettings settings, HttpConfiguration configuration) at System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) at System.Web.Http.Controllers.HttpControllerDescriptor..ctor(HttpConfiguration configuration, String controllerName, Type controllerType) at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.InitializeControllerInfoCache() at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.GetControllerMapping() at System.Web.Http.Routing.AttributeRoutingMapper.AddRouteEntries(SubRouteCollection collector, HttpConfiguration configuration, IInlineConstraintResolver constraintResolver, IDirectRouteProvider directRouteProvider) 

at System.Web.Http.Routing.AttributeRoutingMapper.<>c__DisplayClass2.<>c__DisplayClass4.<MapAttributeRoutes>b__1() at System.Web.Http.Routing.RouteCollectionRoute.EnsureInitialized(Func`1 initializer) at System.Web.Http.Routing.AttributeRoutingMapper.<>c__DisplayClass2.<MapAttributeRoutes>b__0(HttpConfiguration config) at 

System.Web.Http.HttpConfiguration.ApplyControllerSettings(HttpControllerSettings settings, HttpConfiguration configuration) at 

System.Web.Http.Controllers.HttpControllerDescriptor.InvokeAttributesOnControllerType(HttpControllerDescriptor controllerDescriptor, Type type) at 

System.Web.Http.Controllers.HttpControllerDescriptor..ctor(HttpConfiguration configuration, String controllerName, Type controllerType) at 

Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.InitializeControllerDictionary() at System.Lazy`1.CreateValue()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Lazy`1.get_Value() at Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.FindMatchingController(String namespaceName, String controllerName) at Sitecore.Services.Infrastructure.Web.Http.Dispatcher.NamespaceHttpControllerSelector.SelectController(HttpRequestMessage request) at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()" 

Jakieś pomysły?

+0

Czy odpowiedź na połączenie zawiera więcej informacji? Jeśli twoje "customErrors" są wyłączone, prawdopodobnie to zrobi. – Gatogordo

+0

Dodałem więcej informacji powyżej. Dziękuję Ci. –

Odpowiedz

1

wsparcie Sitecore przewidzianego przyczynę i rozwiązanie tego problemu myśl i doda je w razie sam problem stało się z kimś innym:

Przyczyna:

Wygląda jak problem jest spowodowany przez konflikt w konfiguracji Web API

O ile widzę, poniższy kod jest wykonywany podczas startu aplikacji:

void Application_Start(object sender, EventArgs e) 
{ 
// Code that runs on application startup 
    System.Web.Http.GlobalConfiguration.Configure(MyDll.WebApiConfig.Register); 
} 

Rozwiązanie:

Jako alternatywne podejście, ten kod można przenieść do rurociągu "inicjalizuj", aby uruchomić przy uruchomieniu aplikacji.

Jeśli niestandardowy kod zostanie uruchomiony po domyślnym procesorze Sitecore.ExperienceAnalytics.Api.Pipelines.Initialize.WebApiInitializer, najpierw zostanie załadowana konfiguracja produktu Experience Analytics.

Na przykład 1) utworzyć „zainicjować” procesor rurociąg

internal class WebApiInitializer 
{ 
    public void Process(PipelineArgs args) 
    { 
     System.Web.Http.GlobalConfiguration.Configure(Register); 
    } 
    public static void Register(HttpConfiguration config) 
    { 
     config.MapHttpAttributeRoutes(); 
    } 
} 

2) utworzyć plik konfiguracyjny i umieścić w w fodler zawierają/Z.MapRoutes (jak zostanie załadowany ostatni):

<configuration xmlns:x="http://www.sitecore.net/xmlconfig/"> 
    <sitecore> 
    <pipelines> 
     <initialize> 
     <processor type="HttpAttributeRouting.WebApiInitializer, HttpAttributeRouting" x:after="processor[position()=last()]" /> 
     </initialize> 
    </pipelines> 
    </sitecore> 
</configuration> 
1

Przyczyną tego błędu może być używanie Web Api w kodzie. Aby zintegrować Web API z rdzeniem miejscu trzeba przedłużyć Global.asax jak poniżej

public class GlobalExtended : Sitecore.Web.Application 
{ 
    protected void Application_Start(object sender, EventArgs e) 
    { 
    GlobalConfiguration.Configure(ConfigureRoutes); 
    } 

    public static void ConfigureRoutes(HttpConfiguration config) 
    { 
    config.Routes.MapHttpRoute("DefaultApiRoute", 
    "api/{controller}/{action}/{id}", 
    new { id = RouteParameter.Optional }); 

    GlobalConfiguration.Configuration.MapHttpAttributeRoutes(); 
    GlobalConfiguration.Configuration.Formatters.Clear(); 
    GlobalConfiguration.Configuration.Formatters.Add(new JsonMediaTypeFormatter()); 
    } 
} 

Możesz przejść przez poniższy adres URL do szczegółowego wyjaśnienia https://sitecorecommerce.wordpress.com/2014/11/30/webapi-attribute-routing-is-not-working-with-sitecore-7-5/ http://blog.krusen.dk/web-api-attribute-routing-in-sitecore-7-5-and-later/

+0

Co sprawia, że ​​uważasz, że ten problem jest związany z integracją WebAPI? –

+0

@DmytroShevchenko Miałem dokładnie taki sam problem, kiedy używamy routingu atrybutów ASP.NET web api z sitecore –