Showing posts from May, 2009

Dell Buying Experience / Customer Service FAIL!

I understand that outsourced customer support is a reality that isn’t going away any time soon but I never expected to receive that via on-line chat. Likely my naiveté. One could argue the issue here is with Dell’s pricing. It is one thing to offer a limited time special on high end machines that are very sector specific but when you sell the very same, almost commodity machine into different sectors, you better be pricing them the same or be prepared to deal with the fall out. I don’t think Dell dealt with this very well. 10:59:27 AM   Initial Question/Comment: Read about a $228 offer for small biz on a Mini 10v but can't find it. Had ordered a 10v just today. Can I get it? 11:04:07 AM System You are being transferred to another Agent. Please stand by... 11:04:12 AM System You are now being connected to an agent. Thank you for using Dell Chat

/ScriptResource.axd : Invalid viewstate

After reviewing Microsoft's CLR code for errors (see last blog post) and finding none. I tried turning off the cross site scripting filter (XSS) in Microsoft Internet Explorer 8 by adding the X-XSS-Protection: 0 response header in IIS custom headers tab. This didn't work. I made a guess that the browser might think that the /ScriptResource.axd inserted into HTML of the page was a XSS injection because of the querystring. However, this didn't work. {6230289B-5BEE-409e-932A-2F01FA407A92}

/ScriptResource.axd : Invalid viewstate

Yet again I am back to this topic. Internet Explorer 8 (IE 8) is causing a lot of intermintent "/ScriptResource.axd : Invalid viewstate" errors with our web site. Since our web site makes automatic error logs that send us for the pages with error I have the request information. One thing I noticed was that we are getting a lot of request that look like this: /ScriptResource.axd?d=vSlJhKauG_vkeppFuk4O%2fseparator.gif A correct reference to /ScriptResource.axd looks a lot like this: /ScriptResource.axd?d=KPD5hEMt5pl2DUlO-HtW7uGyz9QToptIaomjT4Xh2Elw9iR4V4XA10Vyl8rymXiSQ2llJ9D-oDEkrTRdelC7CR5Q4yGTQBrdaeyHxDcCQ3w1&t=633251016437037680 Notice that there is a query string token that starts d= with a value that is a encrypted or hashed value. My hunch was that on the page request the web server was sending back HTML somewhat like this: < script src ="/ScriptResource.axd?d=KPD5hEMt5pl2DUlO-HtW7uGyz9QToptIaomjT4Xh2Elw9iR4V4XA10Vyl8rymXiSQ2llJ9D-oDEkrTRdelC7CR5Q4yGT

Completly Removing ViewState WebFroms

Here is the code to completely remove view state from the page: #region ViewState protected override void SavePageStateToPersistenceMedium( object viewState) { } protected override object LoadPageStateFromPersistenceMedium() { return null ; } #endregion Make sure that none of the controls in the page rely on ViewState to function properly. {6230289B-5BEE-409e-932A-2F01FA407A92}

Last Update For a Set Of Rows In SQL Server

I am displaying a gridview (table) of rows from the SQL Server and want to refresh the page when anything in any of the rows changes. One thing I always do when I create a new table is add a non-null timestamp column to the table called LastUpdate. I can use this column to figure out if any of the rows has changed with this Transact-SQL: SELECT MAX(LastUpdate) FROM T1 Since the timestamp column automatically gets larger (across the whole database) when there is an UPDATE or INSERT the MAX(LastUpdate) will always be bigger if there is a row added or updated on T1. But what about Deletes? Imagine we have this table: Id LastUpdate ------------------------------------ ------------------ FEB5F896-4F2E-47C9-AA63-0001C63CD3DC 0x00000000018F4590 6692BBC4-E3C7-4B9A-B8DC-00035CAD4D00 0x0000000001913542 018483F7-7EA1-4F0D-8CD2-0008CF4851F9 0x000000000193D0E0 45CC45AD-A6EB-4E54-B6B5-000AE2DF2E9E 0x00000000018F9161 B770834E-331E-416F-BBA0-000AE722C6