Inhalte aufrufen

Profilbild
- - - - -

Wiederkehrende Fehlermeldung "String parameter 'extension' cannot be null ..."

Fehler String parameter extension

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
5 Antworten zu diesem Thema

#1 mwelling

mwelling

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 20 December 2016 - 17:05

Die unten angegebene Fehlermeldung bekomme ich immer, wenn die Webseite des "Shops" länger als 24 Stunden läuft.
Nach einem Neustart der Website funktioniert erst mal wieder alles. 
Rufe ich den Shop 24 Stunden später wieder auf, erscheint die Fehlermeldung wieder.

Hat jemand schon mal ähnliche Probleme gehabt? Und/Oder vielleicht einen Lösungsvorschlag für mich.
Vielen Dank!

Michael W. Welling

Fehlertext:

[ArgumentException: String parameter 'extension' cannot be null or all whitespace.
Parametername: extension]
   SmartStore.Guard.ArgumentNotEmpty(String arg, String argName) +103
   SmartStore.Services.Media.ImageCache.GetCachedImagePath(Nullable`1 pictureId, String seoFileName, String extension, ResizeSettings settings) +55
   SmartStore.Services.Media.ImageCache.GetCachedImage(Nullable`1 pictureId, String seoFileName, String extension, Object settings) +55
   SmartStore.Services.Media.PictureService.GetProcessedImageUrl(Object source, Nullable`1 pictureId, String seoFileName, String extension, Int32 targetSize, String storeLocation) +111
   SmartStore.Services.Media.PictureService.GetPictureUrl(Picture picture, Int32 targetSize, Boolean showDefaultPicture, String storeLocation, PictureType defaultPictureType) +311
   SmartStore.Web.Controllers.<>c__DisplayClass15.<HomepageCategories>b__14() +165
   SmartStore.Core.Caching.CacheManager`1.Get(String key, Func`1 acquirer, Nullable`1 cacheTime) +322
   SmartStore.Web.Controllers.CatalogController.<HomepageCategories>b__13(Category x) +643
   System.Linq.WhereSelectListIterator`2.MoveNext() +111
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +452
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +70
   SmartStore.Web.Controllers.CatalogController.HomepageCategories() +204
   lambda_method(Closure , ControllerBase , Object[] ) +87
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +67
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +186
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +44
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
   System.Web.Mvc.<>c__DisplayClass4.<Wrap>b__3() +15
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Func`1 func) +27
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1737

[HttpException (0x80004005): Fehler beim Ausführen der untergeordneten Anforderung für Handler System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2408
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +131
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +36
   System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) +595
   System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) +114
   ASP._Page_Views_Home_Index_cshtml.Execute() +703
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +253
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +148
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +89
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +107
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +375
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +90
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +81
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +186
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +44
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +137


#2 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3801 Beiträge

Geschrieben: 20 December 2016 - 20:46

Was ich daraus lesen kann ist, dass der Fehler scheinbar beim Zwischenspeichern eines Warengruppenbildes auftritt. Und zwar bei einer
Warengruppe, bei der die Option "Auf der Homepage zeigen" aktiviert ist. Aus irgend einem Grund kann er den Dateityp der Bilddatei nicht ermitteln.
Vielleicht mal die Bilder der Warengruppen kontrollieren, bei denen besagte Option aktiviert ist. Ewtl. Bild nochmal neu hochladen?

Marcus Gesing

Smartstore AG


#3 mwelling

mwelling

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 20 December 2016 - 22:53

OK, werde ich prüfen, vielen Dank erst mal.

Obwohl ich auch DotNet-Entwickler bin, hat mich der Fehlertext "überfordert" ;-) ...



#4 mwelling

mwelling

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 30 December 2016 - 17:21

Hallo Herr Gesing,
ich habe die Bilder, die vorher im PNG-Format vorlagen, auf JPEG konvertiert (das Format nutze ich auch für die Artikel-Bilder).
Anschließend habe ich die Bilder für die Warengruppen neu hochgeladen. Wie immer funktioniert alles nach Neustart der WebSite, aber nach ungefähr 24 Stunden bekomme ich die Fehlermeldung oben (erster Beitrag von mir).
 
Heute habe ich mich in die Administration eingeloggt, ohne die WebSite im IIS neu gestartet zu haben, der Fehler ist also noch "existent bzw. rekonstruierbar".
 
auphaisa_Shop_Fehler_Admin_1.jpg

 

Wenn ich dann die Warengruppe "bearbeiten" will, wird der Fehler wieder angezeigt. In der Warengruppe wo kein Bild hinterlegt ist, funktioniert alles richtig.
 
Ein Blick in die Datenbank, Tabelle "Category" weist 4 Warengruppen mit 3 Bildern aus.
 
auphaisa_Shop_Fehler_Category_2.jpg
 
In der Tabelle "Picture" ist der "MimeType" richtig gesetzt.
 
auphaisa_Shop_Fehler_Picture_3.jpg

 

 
Haben die vielleicht noch einen Tipp für mich...?

Angehängte Bilder



#5 Murat Cakir

Murat Cakir

    SmartStore AG

  • Administrators
  • 1118 Beiträge

Geschrieben: 30 December 2016 - 17:55

Die Quelle des Übels scheint die Methode MimeTypes.MapMimeTypeToExtension() zu sein. Diese versucht nämlich Dateiendungen für registrierte Mime-Typen aus der Registry zu ermitteln (Schlüssel: HKEY_CLASSES_ROOT\MIME\Database\Content Type). Das scheint irgendwann nicht mehr zu klappen. Ob das damit zusammenhängt, dass der Cache zuvor geleert wurde, mag ich nicht mit Bestimmtheit sagen. Jedenfalls ist es eigenartig.

 

Wenn du RDP-Zugang zum Server hast, könntest du mal überprüfen, ob der o.g. Registry-Schlüssel alle benötigten Einträge hat und diesen ggfls. ergänzen. Ansonsten bleibt dir vorerst nur noch die Anpassung der Methode MapMimeTypeToExtension(), um den Fehler zu beseitigen. Ich werde das parallel im 3.x Branch vornehmen, hilft dir für den Moment aber nicht weiter.


Murat Cakir
SmartStore AG


#6 mwelling

mwelling

    Newbie

  • Members
  • Punkt
  • 4 Beiträge

Geschrieben: 02 January 2017 - 16:17

Vielen Dank für die prompte Antwort.

 

Ich habe die Registry überprüft, für mich sieht das alles richtig aus.

Angehängte Datei  auphaisa_Shop_Fehler_Picture_4.jpg   56.13K   0 Anzahl Downloads

 

Obwohl ich die Seite nicht neu gestartet habe (und der Fehler seit dem letzten Post aufgetreten ist), funktioniert sie heute einwandfrei.

Ich werde das ganze natürlich weter beobachten und gegebenenfalls wieder berichten

Zwischendurch werde ich noch mal mit den verschiedenen Wartungstools arbeiten. Vielleicht ergibt sich ja daraus eine Gesetzmäßigkeit oder Reproduzierbarkeit.




Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: Fehler, String parameter, extension