abbiamo iniziato ad avere più tali errori quotidiano, che appare nel registro eventi:"JSON primitive non validi: alihack" errori provenienti da un sito ASP.NET MVC
valido JSON primitiva: alihack. a System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() a System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 profondità) a System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (String ingresso, Int32 depthLimit, JavaScriptSerializer serializzatore) a System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer serializzatore, ingresso stringa, digitare Type, Int32 depthLimit) a System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject (ControllerContext controllerContext) a System.Web.Mvc.JsonValueProviderFactory.GetValueProvider (Contro) llerContext controllerContext) a System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider (ControllerContext controllerContext) a System.Web.Mvc.ControllerBase.get_ValueProvider() a System.Web.Mvc.ControllerActionInvoker.GetParameterValue (ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) a System.Web.Mvc.ControllerActionInvoker.GetParameterValues (ControllerContext controllerContext, ActionDescriptor actionDescriptor) a System.Web.Mvc.Async.AsyncControllerActionInvoker. <> c__DisplayClass21.b__19 (AsyncCallback asyncCallback, oggetto asyncState) a System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase
1.Begin (AsyncCallback callback, oggetto di stato, Int32 timeout) a System.Web.Mvc.Async .AsyncControllerActionInvoker.BeginInvokeAction (controllerContext controllerContext, String ActionName, AsyncCallback richiamata, oggetto state) in System.Web.Mvc.Controller.b__1c (AsyncCallback asyncCallback, oggetto asyncState, ExecuteCoreState innerState) a System.Web.Mvc.Async .AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase
1.Begin (AsyncCallback callback, stato oggetto, Int32 tim eout) a System.Web.Mvc.Controller.BeginExecuteCore (AsyncCallback richiamata, Object state) in System.Web.Mvc.Controller.b__14 (AsyncCallback asyncCallback, oggetto callbackState, Controllore) a System.Web.Mvc .Async.AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase
1.Begin (AsyncCallback callback, oggetto di stato, Int32 timeout) a System.Web.Mvc.Controller.BeginExecute (RequestContext RequestContext, AsyncCallback callback, Object state) in System.Web.Mvc .Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute (RequestContext requestContext, callback Callback async, stato oggetto) a System.Web.Mvc.MvcHandler.b__4 (A syncCallback asyncCallback, oggetto asyncState, ProcessRequestState innerState) a System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallBeginDelegate(AsyncCallback callback, Object callbackState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase
1.Begin (AsyncCallback callback, oggetto di stato, Int32 timeout) a System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContextBase HttpContext, AsyncCallback callback, Object state) in System.Web.Mvc.MvcHandler.BeginProcessRequest (HttpContext HttpContext, AsyncCallback callback, Object state) in System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest (HttpContext contesto, AsyncCallback cb, oggetto ExtraData) a Orchard.Mvc.Routes.ShellRoute.HttpAsyncHandler.BeginProcessRequest (HttpContext contesto, AsyncCallback cb, oggetto ExtraData) a System.Web.HttpApplication.CallHandlerExecutionStep.System. Web.HttpApplication.IExecutionStep.Execute() a System.Web.HttpApplication.ExecuteStep (IExecutionStep passo, booleano & completedSynchronously)
Le richieste vanno a http://example.com/ali.txt. Ci dovrebbe essere qualcos'altro nel carico utile della richiesta poiché l'apertura di questo URL correttamente comporta un 404.
È qualcosa di cui preoccuparsi? Posso, dovrei impedire che si verifichi tale errore e invece restituire una Bad Request ad esempio? Perché questa de-serializzazione sta accadendo in primo luogo?
Quello downvoting potrebbe davvero spiegarlo. – Piedone
Sto notando lo stesso problema nei nostri log ELMAH. Sto cercando di rintracciarlo ora. – Paul
Fantastico, fammi sapere se hai trovato qualcosa. – Piedone