How to solve slow reponse with ASP.NET AJAX in IE 6?


Online project management, task software, and free collaboration workspace: AJAXWorkspace
AJAXWorkspace is a free online workspace that offers task tracking software, team collaboration, online calendar, document sharing, and file management for project management and teamwork.

As mentioned in my previous articles (ASP.NET AJAX very slow in IE 6), the problem come from IE 6 it self response slow in managing asp.net AJAX big resource file such javascript and DOM object. Here are some steps can be done to solve it:

  1. Put your apps in to better perfomance server with greater bandwidth.
  2. Apply IIS compression to imporove the loading time.
  3. Try to minimize the usage of AJAX Update panel in your apps. Do use web services rather than update panel (I know this is not 5 mins work, but this is the root of the problem).
  4. Do not use IE 6. Use IE 7 or FireFox instead (if the steps above do not help :P) 

Please do let me know if anyone have better solution!

Response.WriteFile/TransmitFile fails when compress dynamic files turn on inIIS with SSL


I come across error file not available when download file via response.writefile or transmitfile in asp.net. This error only happenned when you  site on SSL. IIS 6 compression help me speed up all my applications. But the problem occur when some of my aspx page using response.writefile to download file. I get error file not found.

So I have to turn off the specific aspx page do not use IIS compression in order to make my download works.  To configure that, it take me days to find out the solution. You can buy some 3rd party product to configure that. But that will not cheap. Here are the free ways to do it :)
1. First, to create a node for the page in the metabase in IIS manager. Right click on the file and go to properties. Make a change of some sort, apply, then change it back. Do an IISReset. This will create a IISWebFile node in MetaBase.xml

2. Try on this command “cscript C:\Inetpub\AdminScripts\adsutil.vbs set W3SVC/{siteID}/Root/{subfolder}/{page.aspx}/DoDynamicCompression False”

SiteID is a number represent your web application.

3. If you get error running this command, try to open MetaBase.xml and search the IISWebFile tag which represent “{subfolder}/{page.aspx}”. Then add in:

DoDynamicCompression=”FALSE”

Then, do an IISReset.

That’s all folks. Hope can help someone having the same problem

ASP.NET AJAX very slow in IE 6


I built some web applications with ASP.NET ajax framework using few update panel. The response time in IE 6 was very slow. You do not know this problem while you access it in you local host. Once you put it to production or live hosting, its really slow like turtle. IE 7 will be much better, so far it seems 2x faster than IE6. Firefox is the best among these browser. It work extremely fast and estimated 4-5x faster than IE 6. This is a known issue exist within IE6 and ajax update panel. There is a need to fix this issue. But it seems not a 5 mins works. I may need to do a major change on my existing application… too bad..

ASP.NET “Validation of viewstate MAC failed” error


I came across this error:

“Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.”

This happen due to the application pool’s “IdleTimeout” set to a lower value compare to your session timeout value. Let say your session timeout set to 20 mins but your app pool idle time out set to 10 mins.  After 10 mins, app pool sshutdown the worker process. If you do not handle the session expire well, you may get this error. You have to either hanlde via the code or just set the Idle Timeout setting to a greater value compare to your session timeout value.

Posted in .Net. 5 Comments »

Change color on MS SQL Reporting services charts/Pie


Since I am still new to SQL reporting services, I thought changing charts/pie color is impossible. The VS editor seems doesn’t have any more setting for me to do so. As you all know, the default palette color is very ugly. Luckily, I manage to found one article describe how to get more out of these limitations.
http://msdn2.microsoft.com/en-us/library/aa964128.aspx

This document describes how to customize your charts/pie. Here is my before-after outcome:

Before
before1.jpg

After
after1.jpg
It is not hard, just extra some codes. Do make it to make your client happier! Cheers!

Posted in .Net, SSRS. 1 Comment »

Setting MS reporting services page’s height in browser (HTML view)


I come across some problems setting the page height which render in web browser. The “Report Properties”-> “Page height” setting never works. It only works when you export the report to pdf or image file. So the report height in browser is never change. I found a stupid way, but it works. Do open the report.rdl file with notepad and change “<InteractiveHeight>11in</InteractiveHeight>” accordingly. By default it always set to 11 inc. I cannot find anywhere in the visual studio editor to change this. So, here is the solution for me. For those who know where to set it in visual studio editor, please feel free to comment and let me know. Thank you in advance!

Posted in .Net, SSRS. 5 Comments »

Dotster VPS Hosting Review-Support no response!


Yes! Its happen to me. I wish to clarify that I am not from other hosting companies who wish to mess up their name. This is the true story happen to me.

Recently I was looking for window VPS hosting. After do some googling and visited some popular web hosting forum, I decided to choose dotster. There are neither the most expensive nor cheapest. Before I sign up, I did chat online with their sales staff to find more details on the plan (I choose plesk standard). There are friendly and helpful. At the end I decide to give a try.

Day 1 – Sign up run smoothly. After payment has been made, I receive a receipt email and another mail indicates my VPS is ready! It is fast! I manage to login to virtuozzo control panel and check all my allocated resources. Everything looks good! Then I try to login to plesk control panel with admin login. Too bad, it always prompt me invalid login! Try to recover through “Forget password” but no help! I immediate send a support request to their support team. After 2-3 hours still no reply, I guess there may be busy out there. So just give them another day. Meanwhile, I also found that my VPS window is 64bit version but with a 32 bit .net 2.0 framework installed. I have no idea how there do it. With virtuozzo, I guess, may be possible? I try to install MS ASP.NET Ajax 1.0 but get prompt to install .net 2.0 framework to continue. I guess window cannot find the 32bit .net 2.0 frameworks. Now the problem comes … I try to remove 32 bit .net 2.0 frameworks in the OS but failed and give me is not a valid version… and stop to uninstall it. Then, I try to install another 64 bit .net 2.0 framework. Too bad, the installation stops unexpectedly. What can I do now? Try to chat with online support. Guess what their reply? VPS support is not applicable to online chat support! Please send in support request or call us. Come on I am outside US. Call is not a good method for me. So I send another support request regarding these issues… besides I also asking is it possible to reinstall the VPS..

Read the rest of this entry »

“Unexpected Error occured” viewing calculations tab for SSAS project


The following error text occur in the rigth pane:

Unexpected error occured: ‘Error in application.’

When trying to view the calculations tab (of any cube, including the samples that comes with SQL Server 2005) in Visual Studio (BI Development Studio) . This may cause by different versions of msmdlocal.dll and msmgdsrv.dll in %ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ and %ProgramFiles%\Common Files\System\Ole DB\

If they are not the same, then try to update the ones in the PrivateAssemblies with the ones from ole db (Please backup the dlls just case…)

MS ASP.NET AJAX v1.0 validator issues


I guess everybody know that MS ASP.NET AJAX is having problem on.net validation controls.  This issues exists long time ago and become a hot topic in ajax.asp.net community forum. What happen to Microsoft? The final release is put up with no notice about the fact that this requires some other update which has not been released.

Now, there is a HotFix to solve this problem:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=6106

Does this mean that all my problems solved? Unfortunately, it is not. My web hosting upgraded ASP.NET AJAX from RC version to v1.0. That time, I have to recompile all my sources and upload it. Then, all my application’s validation failed.  Now, there is a HotFix from Microsoft.  But my hosting company does not want to install the patch due to overall stability reason.  In that case, if Microsoft does not release the update until end of the year, does this means that I need to use the corrupted AJAX version until that time?  I am waiting their reply after submit and explain my second request. If they still do not want to patch the HotFix, I think is time for me to switch away from them. This kind of AJAX features means nothing to us since the simple validation failed.

Convert text to speech on the fly


Do you ever come across customer’s requirement to convert text (like NEWS) to speech files such as wav, mp3, etc easily?  Especially the customer wants to create mp3 directly and attaches it to the news he has just published in MOSS. Here is a good start… http://www.codeproject.com/audio/speech.asp

In this project they made an application program for Text-to-Speech Conversion. To build this application, we must install the SDK speech from Microsoft on our computer (download Speech SDK (it’s free) from http://www.microsoft.comm/speech)

The SAPI API provides a high-level interface between an application and speech engines. SAPI implements all the low-level details needed to control and manage the real-time operations of various speech engines. As mentioned it will required some custom code.