我的HealthMonitoring爲我的網站。我的網頁的90%,在格式我的事件日誌滿了ViewState是無效的和未處理的異常
http://www.itsmywebsite.com/showproduct.aspx?id=somenumber
我被檢查的WebEvents_events訪問表,看到我的表已滿主要有兩種錯誤
ERROR 1
0002609ad8vdf45f8daffc7de8716e32 2013-11-25 17:01:18.153 2013-11-25 11:01:18.153 System.Web.Management.WebViewStateFailureAuditEvent 9877 1455 4009 50204 Viewstate verification failed. Reason: Viewstate was invalid. C:\HostingSpaces\parthak\itsmywebsite.com\wwwroot\/ C15472-132183 http://www.itsmywebsite.com/showproduct.aspx NULL Event code: 4009
Event message: Viewstate verification failed. Reason: Viewstate was invalid.
Event time: 11/25/2013 11:01:18 AM
Event time (UTC): 11/25/2013 5:01:18 PM
Event ID: 0002609ad8vdf45f8daffc7de8716e32
Event sequence: 9877
Event occurrence: 1455
Event detail code: 50204
Application information:
Application domain: /LM/W3SVC/94/ROOT-1-1302342423433586
Trust level: Full
Application Virtual Path:/
Application Path: C:\HostingSpaces\parthak\itsmywebsite.com\wwwroot\
Machine name: C15472-132183
Process information:
Process ID: 28796
Process name: w3wp.exe
Account name: C15472-132183\itsmywebsitecom_web
Request information:
Request URL: http://www.itsmywebsite.com/showproduct.aspx
Request path: /showproduct.aspx
User host address: 186.xx.xxx.xx
User:
Is authenticated: False
Authentication Type:
Thread account name: C15472-132183\itsmywebsitecom_web
ViewStateException information:
Exception message: Invalid viewstate.
Client IP: 186.xx.xxx.xx
Port: 29991
Referer:
Path: /showproduct.aspx
User-Agent: Mozilla/4.0 (compatible; Synapse)
的錯誤2
0034c75464ecdd32dee41996bfe 2013-11-24 13:19:52.360 2013-11-24 07:19:52.360 System.Web.Management.WebRequestErrorEvent 8727 1313 3005 0 An unhandled exception has occurred. C:\HostingSpaces\parthak\itsmywebsite.com\wwwroot\/ C15472-132183 http://www.itsmywebsite.com/showproduct.aspx?id=-1%27 System.FormatException Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 11/24/2013 7:19:52 AM
Event time (UTC): 11/24/2013 1:19:52 PM
Event ID: 0034c75464ecdd32dee41996bfe
Event sequence: 8727
Event occurrence: 1313
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/94/ROOT-1-1302342423433586
Trust level: Full
Application Virtual Path:/
Application Path: C:\HostingSpaces\parthak\itsmywebsite.com\wwwroot\
Machine name: C15472-132183
Process information:
Process ID: 14932
Process name: w3wp.exe
Account name: C15472-132183\itsmywebsitecom_web
Exception information:
Exception type: System.FormatException
Exception message: Input string was not in a correct format.
Request information:
Request URL: http://www.itsmywebsite.com/showproduct.aspx?id=-1%27
Request path: /showproduct.aspx
User host address: 178.xxx.xxx.xxx
User:
Is authenticated: False
Authentication Type:
Thread account name: C15472-132183\itsmywebsitecom_web
Thread information:
Thread ID: 31
Thread account name: C15472-132183\itsmywebsitecom_web
Is impersonating: False
Stack trace: at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Convert.ChangeType(Object value, TypeCode typeCode, IFormatProvider provider)
at System.Web.UI.WebControls.Parameter.GetValue(Object value, String defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean ignoreNullableTypeChanges)
at System.Web.UI.WebControls.Parameter.GetValue(Object value, Boolean ignoreNullableTypeChanges)
at System.Web.UI.WebControls.Parameter.get_ParameterValue()
at System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext context, Control control)
at System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)
at System.Web.UI.WebControls.BaseDataList.GetData()
at System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource)
at System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)
at System.Web.UI.WebControls.BaseDataList.DataBind()
at System.Web.UI.WebControls.BaseDataList.EnsureDataBound()
at System.Web.UI.WebControls.BaseDataList.CreateChildControls()
at System.Web.UI.Control.EnsureChildControls()
at System.Web.UI.WebControls.BaseDataList.get_Controls()
at MB.TheBeerHouse.Helpers.SetInputControlsHighlight(Control container, String className, Boolean onlyTextBoxes)
at MB.TheBeerHouse.Helpers.SetInputControlsHighlight(Control container, String className, Boolean onlyTextBoxes)
at MB.TheBeerHouse.Helpers.SetInputControlsHighlight(Control container, String className, Boolean onlyTextBoxes)
at MB.TheBeerHouse.Helpers.SetInputControlsHighlight(Control container, String className, Boolean onlyTextBoxes)
at MB.TheBeerHouse.Helpers.SetInputControlsHighlight(Control container, String className, Boolean onlyTextBoxes)
at MB.TheBeerHouse.UI.BasePage.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
請指導我如何防止發生這些錯誤。
更新:
最糟糕的部分是追加到url的-1%27。現在我再次檢查,它在下面的URL中使用:
http://www.itsmywebsite.com/showproduct.aspx?id=-1%27 [invalid]
http://www.itsmywebsite.com/browseproduct.aspx?id=-1%27 [invalid]
等等。這些網址都不存在,我的健康監測記錄了所有這些錯誤。我現在在桌子上有大約100K的人。
有效的URL是http://www.itsmywebsite.com/showproduct.aspx?id=127
如果沒有辦法阻止他們,我能處理他們在我的代碼,通過重定向或任何其他最佳實踐,使之不產生錯誤,並填寫了我的表
感謝您的回答。但在那種情況下,它如何隨着每個新錯誤而包含一個新的用戶主機地址。我在我的網站上記錄了至少100,000個錯誤,並且我隨機檢查了500個錯誤,並且所有錯誤都有不同的IP地址。 – CuriousDev
它可能是代碼中的參考,無意中傳遞了該查詢參數。你可以登錄'referer'頭來查看它來自哪個頁面? – SilverlightFox
我很確定它來自http://www.itsmywebsite.com/showproduct.aspx,雖然這不是一個頁面。一個理想的網頁是http://www.itsmywebsite.com/showproduct.aspx?id=[somenumber]。我如何記錄引用標題? – CuriousDev