iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
Any updates?
Hi Handy,
Here the requested infos: The web.config, and two grids that are both known for causing the error when the server is in that errornous state.
Eric
There should be absolutely no data caching. If you want me to check any specific setting or option or anything, please let me know.
Caching? Could you be more specific with this question? Do you need information about a webserver setting or an option for WebGrid? I'm not sure what you want me to check.
Yes, we are using the InitializeDataSource event on all pages.
It happens on all WebGrids that are on different pages. I remember at least two totally different pages where it occurs. Pages that do not use a WebGrid work fine at the time of the problem. And as long as you don't cause any postback even on the pages with the WebGrid, the pages also appears fine.
Does this help anything?
You're right, this detection didn't work. Actually adding this special row doesn't belong in the database function. But for this example we can still leave it like this and just improve the detection. I updated my sample (not included here).
But the main problem still remains: We have two slow database calls instead of only one. I imagine we could improve this. One call is only to detect if no rows are returned and this call could be optimized by the database and just return a boolean. This might be faster than the other call.
But even then, this design won't work: If the database data changes between the two calls, we get unexpected results. You can experience this even with my little sample, as the data changes over time.
So we have to find a way to avoid a second database call. As you already mentioned, you will talk with your developer teams. This is probably the best way to go on. Let me know what you found out.
Thanks,
Hi Eric,After debug your project, I have got two conclutions.Refreshing time should be 2 x cDelay (once for each grid) -> wrong, takes longer, because two calls are being madeAfter refreshing, sometimes no data will be returned and special row with text "no data" shows up in Description column and all other columns are hidden -> wrongIn my analysis, the delay already take much longer than expected. I noticed that you set delay twice, one from client and one from server. I can also see that you use some boolean (IsTimeOdd). I don't think this is the correct validation. The boolean status is also changed randomly depends on the time. I think this the once cause issue when returning data. Sometimes, you can see data, sometimes not.After refreshing, sometimes no data will be returned and special row with text "no data" shows up and uses full width -> wrongYou have incorrect validation. If you debug, the rows count is not 0 at the first time.Regards,Handy
Hi Eric,
After debug your project, I have got two conclutions.
Refreshing time should be 2 x cDelay (once for each grid) -> wrong, takes longer, because two calls are being madeAfter refreshing, sometimes no data will be returned and special row with text "no data" shows up in Description column and all other columns are hidden -> wrong
In my analysis, the delay already take much longer than expected. I noticed that you set delay twice, one from client and one from server. I can also see that you use some boolean (IsTimeOdd). I don't think this is the correct validation. The boolean status is also changed randomly depends on the time. I think this the once cause issue when returning data. Sometimes, you can see data, sometimes not.
After refreshing, sometimes no data will be returned and special row with text "no data" shows up and uses full width -> wrong
You have incorrect validation. If you debug, the rows count is not 0 at the first time.
Regards,Handy
Why do you think I have two delays? As you can see in the code, the Sleep(cDelay) is used only in the two database calls. The problem is that the database calls are called too often. They should only be called once each.
I don't know what you mean with "I have incorrect validation."
So what I mentioned what is not working are these issues:
The problem is that with your proposed solution I have two database calls, which is not acceptable. Also the full-width "no data" display doesn't work.
You wanted to have another look to fix these issues. In my original solution everything was working, except that the grid crashed sometimes because some columns disappeared. So what I need is either a fix or workaround for this crash or a solution for all new problems with your workaround.
Can you please have another look and give me a solution?
Is the survey still open? The surveymonkey.com site access is blocked from our company, probably because of their data storage policy. Is there any other way to participate?
Yes, this is a completely different issue and not related to the other thread you mentioned in any way. As mentioned in my original post, I cannot give you a sample as this happens only about once a month on our production server. I don't even have access to our production server. But from the logged traffic (also in my original post), you can clearly see that the problem is related to the WebGrid.
What I would like to know is under what circumstances this type of traffic can happen (WebGrid answering with an empty response). If you need any additional logging information, I can also try to get that, but I think the above information is sufficient.
Regards,
This issue here is not related to any other thread in Community forum. What do you mean with "enhance our machanism to avoid this issue"? Do you mean with "previous thread" the issue with the Input Validation and the intended change to JSON? This is not related to the above mentioned bug.
Hi Handy
Yes, I understand that you are working on WebGrid7. I'll await your update then.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname