Wednesday, March 4, 2009

Setting up SMTP on an asp.net development server.

This article outlines the steps necesssary to get the emails dropped into a directory on my development machine. It took me quite a while so here is the useful information.

Architecture
Visual Studio 2008
IIS 7
Windows 7

Step 1 - web.config Settings












Step 2 - Directory Permissions
Ensure that the location you set here:
pickupDirectoryLocation="c:\Temp\MailDrop\"

that the "Network Service" user has write access to.

Step 3 - Check code
Check your code is not overwriting these default permissions when creating the SMTP Object

Dim objSMTPServer As New Net.Mail.SmtpClient
objSMTPServer.Host = strSMTPServer objSMTPServer.Port = ConfigurationManager.AppSettings("SMTP_Port")
etcc..

Saturday, January 17, 2009

Back-up and Re-install IIS Settings (Vista – Windows 7)

I have to say that I am very impressed with Windows 7.  It appears in all essence to be the operating system Vista should have been.  The main  improvements I can see are:

  • Noticeably faster.
  • Drivers for USB wireless worked.
  • Windows Explorer is a lot lot better.

To the task at hand, I am developing on Windows 7 and need to transfer my IIS settings from Vista. 

Step 1 – Backup Settings on Vista

Therefore I loaded up vista and ran the following command to back-up IIS.

%windir%\system32\inetsrv\appcmd.exe add backup "My Backup Name"

Step 2 – Copy Settings from Vista to Windows 7

Any backups you make are stored in this folder:

C:\Windows\System32\inetsrv\backup\

Please ensure that they exist on the machine you are restoring too.

Step 3 – Restore settings on Windows 7

Then I logged into Windows 7 and ran this command:

%windir%\system32\inetsrv\appcmd.exe restore backup "My Backup Name"

My Attempt Failed 

After booting up IIS whereas before it showed all the usual menus and navigation tree on the left.  Now it shows nothing but the computer name at the top node.  I have to re-install IIS to get the default settings back, but I can’t restore my old settings.

When I tried to restore I get this error message:

image

Does anyone have any ideas?

Monday, November 10, 2008

Nested application does not authenticate correctly with parent application.

If you have a sub application which is nested in your main site in asp.net and the forms autentication is not working.  Check that the nested application web.config does not have a mochine key setting.

Wednesday, November 5, 2008

URLUrlRewritingNet.UrlRewriter.dll and IIS7

URL Rewriter here can take some configuration for IIS 7 and Vista.

http://urlrewriter.net/index.php/support

To configure correctly please read this entry in this blog:

http://www.improve.dk/blog/2006/12/11/making-url-rewriting-on-iis7-work-like-iis6

Sunday, November 2, 2008

You must be a member of the Administrators group on the local computer to access the IIS metabase. Therefore, you cannot create or open a local IIS Web site. If you have Read, Write, and Modify permissions for the folder where the files are located, you can create a file system Web site that points to the folder in order to edit the files.

Problem
Open Visual Studio 2005 and open website via IIS the following message is shown:

"You must be a member of the Administrators group on the local computer to access the IIS metabase. Therefore, you cannot create or open a local IIS Web site. If you have Read, Write, and Modify permissions for the folder where the files are located, you can create a file system Web site that points to the folder in order to edit the files."

Solution
I then remembered an IIS 6 option under the Windows Features install dialog under Internet Information Services and found the following option that allows VS 2005 to play with IIS 7....IIS Metabase and IIS 6 configuration compatibility.  Here are the steps:
  1. Open Control Panel
  2. Open Programs
  3. Open Windows Features
  4. Expand Internet Information Services
  5. Expand Web Management Tools
  6. Expand IIS 6 Management Compatibility
  7. Check IIS Metabase and IIS 6 configuration compatibility
  8. Click OK
http://blogs.msdn.com/jorman/archive/2006/06/06/vista-iis-7-local-iis-web-site-error.aspx
 

Friday, October 17, 2008

CLR has been unable to transition from COM context for 60 seconds

Error Message:
"The CLR has been unable to transition from COM context 0x197060 to COM context 0x196ef0 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations."

Solution:
1) I've read a few things about a config file, but I couldn't get this to work reliably. Instead, you can switch the MDA off by going to:  Debug -> Exceptions -> Managed Debug Assistants and unchecking the ContextSwitchDeadlock item.

2) Don't see that option?  Then you may have SP1 in Visual Studio 2005.  To activate the window use this shortcut:  "Ctrl-Alt-E" opens the window"

Tuesday, September 9, 2008

"please wait while windows configures itunes"

Problem
If you get this message after upgrading or installing itunes:

"please wait while windows configures itunes"

Followed by a reboot message that never fixes it self after a reboot.

Solution
From : http://discussions.apple.com/thread.jspa?messageID=5440570

go to start menu --> run
type regedit, press enter
go to computer/hkey_classes_root/
find pcast and right click it
click permissions
during the course of this you may get a message saying you cant change anything, but you can change who can change things. click ok on it.
click advanced, then owner tab
change the owner from administrator to whatever name you are using
click ok twice to get out of the pop-ups completely
right click pcast again
click permissions
click OWNER RIGHTS
by full control and read click the allow boxes.
click ok
all set!

Wednesday, July 2, 2008

How to delete a windows service

If you are having issues deleting a windows service simply run this command in the dos prompt:

sc delete _service name_

Be sure to close the "services" windows management window as it gets confused and thinks it needs a reboot if the service is to be re-installed.

If using Windows 2000 then you will need to reinstall.

Sunday, June 22, 2008

Google App Engine - "'DatabaseWrapper' object has no attribute '_rollback'"

: 'DatabaseWrapper' object has no attribute '_rollback'
args = ("'DatabaseWrapper' object has no attribute '_rollback'",)
message = "'DatabaseWrapper' object has no attribute '_rollback'"

Thursday, May 22, 2008

ASPENCRYPT - Object Already Exists

If you get this error re-install Aspencrypt.

Object already exists.

Server Error in '/' Application.

Object already exists.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: Object already exists.


Source Error:

Line 66:     Public Shared Function Encrypt(ByVal UserID As String) As String Line 67:         Dim CM As New CryptoManagerClass Line 68:         Dim Context As ICryptoContext = CM.OpenContext("mycontainer", True) Line 69:         Dim key As ICryptoKey = Context.GenerateKeyFromPassword("elphantswanderingacr0ssapl14n", ASPENCRYPTLib.CryptoAlgorithms.calgSHA, CryptoAlgorithms.calg3DES) ' use defaults Line 70:         Dim Blob As ICryptoBlob = key.EncryptText(UserID)

Source File: Line: 68

Stack Trace:

[COMException (0x800a0001): Object already exists. ]    ASPENCRYPTLib.CryptoManagerClass.OpenContext(String Container, Int32 bMachineKey, Object CreateNew) +0    security.Encrypt(String UserID) in C:\Shared\Projects\Schriaz_TMF\SourceControl\Source\Admin.2005\App_Code\security.vb:68    ucontrols.forms.login.LoginAdmin(Boolean blnPersist) in C:\Shared\Projects\Schriaz_TMF\SourceControl\Source\Admin.2005\controls\forms\login.ascx.vb:278    ucontrols.forms.login.CheckLogin() in C:\Shared\Projects\Schriaz_TMF\SourceControl\Source\Admin.2005\controls\forms\login.ascx.vb:223    ucontrols.forms.login.btLoginCen_Click(Object sender, ImageClickEventArgs e) in C:\Shared\Projects\Schriaz_TMF\SourceControl\Source\Admin.2005\controls\forms\login.ascx.vb:584    System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +86    System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +115    System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746 


Version Information: Microsoft .NET Framework Version:2.0.50727.1434; ASP.NET Version:2.0.50727.1434

Saturday, May 3, 2008

Could not load file or assembly '' or one of its dependencies. Access is denied.

Standard Solution
This is one of the most irritating build errors a developer might see, especially while setting up an existing .NET application on a fresh machine. I have found one solution that works always. Go to:

"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"
( Modify the framework version, root directory etc according to your environment. )

Now, right-click and open up the Security tabs for this folder. Grant "Full control" to the 'users' group. (Modify will also work, thought I didn't try it out) However, it this is a security problem for your environment to grant full control to all users in Users group, another Solution could be to put the concerned assemblies lo GAC which I avoided as it was not logical to put the assemblies into GAC in my scenario. Hope this helps.

My Experience
In reality I did the above and it didn't fix the problem so I had to right click each dll that had the problem in the projects bin folder (not temporart asp.net folders) and add group everyone and give it full permissions.

Wednesday, April 23, 2008

Seven Great CMS Plugins for Wordpress

Save some time, I have found some great Wordpress Plugins if you are using this package as a CMS, or sometimes even if you are not.

1) All in One SEO Pack 1.4.6.8
Out-of-the-box SEO for your Wordpress blog. By uberdose.

2) Contact Form 7 1.7.7
Just another contact form plugin. Simple but flexible. By Takayuki Miyoshi.

3) CyStat 0.9.0
Statistik-Plugin By Michael Weingärtner.

4) Google XML Sitemaps 3.0.3.1
This plugin will generate a sitemaps.org compatible sitemap of your WordPress blog which is supported by Ask.com, Google, MSN Search and YAHOO. Configuration Page By Arne

5) NextGEN Gallery 0.94
A NextGENeration Photo gallery for the WEB2.0(beta). By NextGEN DEV-Team.

6) TinyMCE Advanced 3.0.1
Enables advanced features and plugins in TinyMCE. By Andrew Ozz.

7) Wordpress Automatic Upgrade 1.1
Wordpress Automatic Upgrade allows a user to automatically upgrade the wordpress installation to the latest one provided by wordpress.org using the 5 steps provided in the wordpress upgrade instructions. Go to Wordpress Automatic Upgrade to upgrade your installation Thanks to Ronald Huereca for making the plugin run in automatic mode. By Keith Dsouza.

Thursday, April 3, 2008

Vista - Unable to Start Debugging on the Wer Server - Vista Home Premium Edition

There is an excellent guid here on how to get IIS 7 and Vista Home premium web server debugging working.

http://mvolo.com/blogs/serverside/archive/2006/12/28/Fix-problems-with-Visual-Studio-F5-debugging-of-ASP.NET-applications-on-IIS7-Vista.aspx

This also includes a link for Home Premium users for a download that enables Windows Authentication in IIS 7.

http://support.microsoft.com/kb/937523

Thursday, November 1, 2007

Ajax Control Toolkip Collapsible Panel Not Collapsing

In the Ajax Control Tool kit there is a funky collapsible panel which is demonstrated here:
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/CollapsiblePanel/CollapsiblePanel.aspx

If your panel opens but then when you click to close it, it sort of half closes then re-opens. The error is because your web page does not contain the correct doc type heading.

[DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]

is the kind of thing that should be at the top. I am having trouble displaying the actual code here because it will affect this web page. however look for this line in the collapsible panel header.

Monday, October 29, 2007

"Unable to start debugging on the webserver. Debugging failed because integrated windows authentication is not enabled."

Problem
Can't debug website, when it compiles this message appears: "Unable to start debugging on the webserver. Debugging failed because integrated windows authentication is not enabled."

Architecture
Visual Studio Web Developer Express 2005
IIS 6.0

Solution
  • Open IIS
  • Right Click Web Project
  • Click Properties
  • Select "Document Security" tab
  • Click "Edit" in the "Anonymous access and authentication control".
  • Click "Integrated Windows Authentication" in the "Authenticated Access" panel (see image).


Saturday, October 27, 2007

Seven Reasons why you should revert back to Windows XP.

Earlier this year I participated in an online Microsoft conference in which I was awarded a free copy of Vista Business. All year I have been using this operating system, but finally I have had enough, last night I reverted back to Windows XP, here are the seven main reasons why.

1 - Where is the 'WOW' factor.
Microsoft don't set your customers up to see something amazing, only to install the operating system and the only visual difference is a useless 3-d scrolling image of your open applications. Has it really taken five years to get to this? I like many other people were expecting an apple-esque slick visual OS that responded intuitively to our OS tasks. Not, as what we received Windows XP with a see through title bar and one useless 3-d effect.

2 - Speed
I am typing this in Windows XP and the screen is responding beautifully, words appear as I type, windows close when I click close, no annoying UAC panel popping up five times after I first authorised its use. Windows with a Vista skin would look like an improvement. Why when I copy files to my USB wire connected hard drive does it take 1 hour to copy 4Gb of files?

3 - Not fully tested.
Why on a fresh install of an operating system on my first and subsequent use of Windows Calender, should I received the calendar is corrupt message? Why cannot I sync my Windows Contacts using the Windows Mobile Device Center to my Windows Mobile PDA? Take a look at how Apple's software hardware works and then use this philosophy when designing software. IT SHOULD JUST WORK NO IFFS OR BUTS!

4 - User Account Panel
Ok Ok Ok I can't complain about extra security it is a needed feature in this overly attacked operating system, however why can't the various windows processes talk to each other. I access an Administrator Privileged application and I have to click accept about three times. How about fixing this so I should only have to click it once. How can the worlds biggest software company not think this is not going to be annoying.

5 - Windows Media Player and Media Management
Have you seen iTunes, admittedly it has flaws, but compared to WMP it is light years ahead. Why when I click on an image does it not show me the image, but opens WMP and displays some random page.

6 - Windows Explorer
OMG - it looks like they took the old Windows Exporer and bolted various things to the edges, that are not intuitive, not sure why they are there, they seem to slow everything up. The folder panel looks unfinished with the folders and your links.

7 - Nothing New
There is nothing new about Vista, a renaming of folders, crappy slow visuals, and the documents and settings folder has moved. Is that really worth $400?

Friday, October 26, 2007

Rebuilding Information for HP PAvillion 6040US 600 series laptops

  • RoRed - Great Ruby on Rails editor.
  • Navicat - MY SQL Editor.
  • Deep Burner - Free ISO and CD / DVD Burning software.
  • Clam Anti Virus
  • Rapid SVN - Windows based svn client
  • Open Source Wav to MP3 - winLame
  • RealWorld Icon Editor
  • Foxit Reader
  • Koyote - Ipod Video converter
  • Eraser

Thursday, October 25, 2007

'Sys' is undefined - ASP.NET AJAX

This is not my own work but have replicated it so I can easily find it. Original article here:
http://geekswithblogs.net/ranganh/archive/2007/07/15/113963.aspx

You might receive the error 'Sys' is undefined when running ASP.NET AJAX Web pages or trying to AJAX enable your exisitng Web Applicaitons.


This error occurs specifically when you try upgrading your existing ASP.NET 2.0 Applications to AJAX by using the ASP.NET AJAX controls like UpdatePanel, etc., The common cause for this error is that you havent updated the Web.Config file of the application to enable the runtime understand ASP.NET AJAX. Let me explain a little more.


When you install ASP.NET AJAX your Visual Studio 2005 gets the toolbox updated with ASP.NET AJAX Server side controls like ScriptManager, ScriptManagerProxy, UpdatePanel, UpdateProgress etc., You already have your existing ASP.NET 2.0 application pages and you can add ScriptManager, UpdatePanel and other controls from Toolbox to your pages. When you run the page, you would get 'Sys' is undefined javascript error. The reason being that, your web.config of the existing ASP.NET 2.0 application misses certain settings that require to be added to make it understand the ASP.NET AJAX Server side controls like UpdatePanel, UpdateProgress etc.,



To resolve the issue, I am providing herebelow the steps:-


Open the Web.Config file and start adding the following settings to the same:- (Forewarning: Modifying Web.Config incorrectly makes your site inaccessible and I would suggest you take a back up of your existing web.config file before making the following changes. This article is intended for people with prior experience in dealing with web.config file, settings etc., and if you arent very convenient working with the Web.Config file, make your administrator or other experienced developers make these changes)


1. Below the <configuration> tag, add the following settings:-


<configSections>

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">


<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>

<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">

<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>

<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>

<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>


</sectionGroup>

</sectionGroup>

</sectionGroup>

</configSections>


What we have done in this step is registering the System.Web.Extensions namespace, the assembly and its various handlers that are useful in handling AJAX for your ASP.NET 2.0 Application.


2. Then, below the <system.web> add the following settings:-



<pages>

<controls>

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</controls>

</pages>


In this step, we registered the tagprefix of ASP for the ASP.NET AJAX Server controls like UpdatePanel so that we can use the same <asp: prefix while using the same in your pages. Ex.- <asp:UpdatePanel>


3. Then find the <compilation debug="false" /> and you need to replace this line with the following settings:-



<compilation debug="true">

<assemblies>

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</assemblies>

</compilation>


This step enables compilation for your website and adds the reference assembly for System.Web.Extensions.


4. Then below the compilation settings (above step), add the following:-


<httpHandlers>

<remove verb="*" path="*.asmx"/>


<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

</httpHandlers>

<httpModules>

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</httpModules>


What we have done here is to register the Http Handler and specify that Web Services might be handled using Javascript (asynchronous callback) as well as add the ScriptModule Http Module.


5. Then, after the </system.web> end tag, add the following system.web.extensions settings:-



<system.web.extensions>

<scripting>

<webServices>

<!-- Uncomment this line to customize maxJsonLength and add a custom converter -->

<!--

<jsonSerialization maxJsonLength="500">

<converters>

<add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>

</converters>


</jsonSerialization>

-->

<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->

<!--

<authenticationService enabled="true" requireSSL = "true|false"/>

-->

<!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved

and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and

writeAccessProperties attributes. -->


<!--

<profileService enabled="true"

readAccessProperties="propertyname1,propertyname2"

writeAccessProperties="propertyname1,propertyname2" />

-->

</webServices>

<!--

<scriptResourceHandler enableCompression="true" enableCaching="true" />

-->


</scripting>

</system.web.extensions>


In this step, we have additional steps where we can play with JSON Serialization settings and enabling some of the Application Services like AuthenticationService, ProfileService etc.,


6. Thereafter, add the following system.webServer settings:-


<system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<modules>

<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</modules>


<handlers>

<remove name="WebServiceHandlerFactory-Integrated"/>

<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</handlers>

</system.webServer>


The above steps registers the ScriptHandlerFactory for Webservices and the AXD that needs to handle the requests.


Once you have added the above steps to your web.config file, you would be able to add ScriptManager, UpdatePanel and other ASP.NET AJAX Controls and would be able to run the page. This should solve the 'Sys' is undefined error message.



These settings are not required if you are creating a "File - New - AJAX Enabled Website" using Visual Studio 2005 since all the above settings are added automatically to your web.config file.


Similarly, with Visual Studio "Orcas" any ASP.NET Website created will automatically have these settings as a part of the web.config file enabling you to directly use the ASP.NET AJAX Server side controls as well as the client scripts.


This error may also occur, if you are running beta versions of ASP.NET AJAX such as RC1, and earlier CTP versions. I would strongly suggest you to upgrade to the released version of ASP.NET AJAX which can be downloaded from http://ajax.asp.net and update / modify your web.config files accordingly.


Finally, this error occurs due to the fact that 'Sys' is the root namespace for Microsoft AJAX Library and the web.config settings specify the Handlers / Modules and the System.Web.Extensions DLL references so that the runtime can understand and render accordingly.


If you are still facing the error after checking the above, write back in comments so that I can help you with the same.


Cheers!!!