logo
Welcome to our new AbleCommerce forums. As a guest, you may view the information here. To post to this forum, you must have a registered account with us, either as a new user evaluating AbleCommerce or an existing user of the application. For all questions related to the older version of Gold and earlier, please go to forums.ablecommerce.com. Please use your AbleCommerce username and password to Login. Forums Registration.

Notification

Icon
Error

Options
Go to last post Go to first unread
Joe Payne @ AbleMods LLC  
#1 Posted : Tuesday, September 7, 2021 3:34:18 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 489

Thanks: 82 times
Was thanked: 14 time(s) in 13 post(s)
There seems to be no way to track down this sort of MVC error. Logging the error itself is pretty much worthless. Any suggestions?

Code:

2021-09-07 15:01:29,102 ERROR AbleCommerce         An error has occured at https://www.lanshack.com/Product/AddToCart
System.ArgumentException: The parameters dictionary contains a null entry for parameter 'productId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult AddToCart(Int32)' in 'AbleCommerce.Controllers.ProductController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
   at System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(ParameterInfo parameterInfo, IDictionary`2 parameters, MethodInfo methodInfo)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass24_0.<InvokeActionMethodWithFilters>b__0()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
   at System.Web.Mvc.Controller.ExecuteCore()
   at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
   at System.Web.Mvc.Async.AsyncResultWrapper.<>c.<.cctor>b__15_0(IAsyncResult asyncResult, Action action)
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Wanna join the discussion?! Login to your AbleCommerce Forums forum account. Forums Registration.

shaharyar  
#2 Posted : Wednesday, September 8, 2021 3:09:35 AM(UTC)
shaharyar

Rank: Advanced Member

Groups: Admin, Developers, Registered, HelpDesk, Authorized User
Joined: 10/5/2018(UTC)
Posts: 555

Thanks: 2 times
Was thanked: 84 time(s) in 83 post(s)
It seems that this is because some bot picking up the URLs from the page source or script files and requesting without the required parameters.

Otherwise, if there are steps to reproduce then we can track the real issue.
Joe Payne @ AbleMods LLC  
#3 Posted : Wednesday, September 8, 2021 4:59:27 AM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 489

Thanks: 82 times
Was thanked: 14 time(s) in 13 post(s)
Is there no way to trap more details about the original request with the error message?

This has to be a common problem with all MVC web-based applications. Surely there's a way to get more details so devs can know if it's something that needs addressed.
shaharyar  
#4 Posted : Wednesday, September 8, 2021 5:05:36 AM(UTC)
shaharyar

Rank: Advanced Member

Groups: Admin, Developers, Registered, HelpDesk, Authorized User
Joined: 10/5/2018(UTC)
Posts: 555

Thanks: 2 times
Was thanked: 84 time(s) in 83 post(s)
I think there is enough detail in this error message for a developer to know.
The request being sent is without the required parameters and this is what is causing the issue.
Joe Payne @ AbleMods LLC  
#5 Posted : Wednesday, September 8, 2021 3:17:36 PM(UTC)
Joe Payne @ AbleMods LLC

Rank: Advanced Member

Groups: HelpDesk, Developers
Joined: 11/9/2018(UTC)
Posts: 489

Thanks: 82 times
Was thanked: 14 time(s) in 13 post(s)
Hey I came across this today in MembersController RegisterDialog()

Code:
[HandleAndLogError(typeof(HttpAntiForgeryException))]


Couldn't I build a similar one to handle that System.ArgumentException and slap it on the AddToCart method?
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.