Solved

Getting Ajax call to work in IIS7 web site

Posted on 2008-09-30
1
2,315 Views
Last Modified: 2012-05-05
I am trying to get a web site (.NET 2.0)  I inherited to run in IIS7.  I am stuck trying to get an Ajax call to work.  It is supposed to do an UPDATE  in the database but it doesnt.  It runs fine in IIS6.  In IIS7 it doesnt throw an error to the screen, it just doesnt update the database.  I believe that my problem is that I dont have a Handler set up properly to handle the Ajax call.
                              
The call is made from a web page code behind file like this (vb.net)   (of course a javascript calls this.)
      <Ajax.AjaxMethod()> Function MyDbUpdate(blah, blah, blah, this works fine on existing site)
            blah, blah, works fine
            Return "Good"
      End Function
                              
I have created a few handlers and turned off/on the Inherited handlers, but I am really shootin in the dark.   The two Inherited handlers  handle .ashx files and have
      1. a type of System.Web.UI.SimpleHandlerFactory and
      2. an Executable of %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
                                    
When I create a "Managed Handler" using the gui there is nothing that appears more Ajax related than the above items in the Type drop down.  Maybe I need to install something on the server in order to get the right "Type" to appear in that drop down(?)
                              
One of the handlers that I created, was a "Script Map" and it wrote a <system.webServer> node with children nodes in my web site web.config,  but the Ajax call still didnt work.  In that handler I tried to make it use the Ajax dll (Ajax.dll) that is in the web site directory structure, so the node in the web config looked like this.
      <system.webServer>    
           <handlers>                        
                <add name="AJAX.NET" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="D:\PriorityPost\bin\Ajax.dll" resourceType="Unspecified" />      
           </handlers>                                
      </system.webServer>
                                    
How can I get the Ajax call to work?  Thanks.
0
Comment
Question by:pdschuller
1 Comment
 

Accepted Solution

by:
pdschuller earned 0 total points
ID: 22624520
SOLUTION:  I had to create a Handler in IIS7 that was configured properly.  Based on my inputs, the IIS7 Create Handler wizard wrote an entry to the <Handlers> node of the web site web.config file that looked like this:
<add name="MrAjax" path="Ajax/*.ashx" verb="POST,GET" type="Ajax.PageHandlerFactory, Ajax" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
You can make the name value anything you want.  I got the rest of the values from the similar node in the web.config of the site that was running in IIS6.  IMPORTANT:  in the IIS7 Create Handler wizard there is a dropdown for the type values.  The value that I wanted was not in the drop down, but it let me type anything I wanted in there so I banged in the value from the IIS web.config and it worked.

Can anyone tell me why I got no responses to this question?  If it was the way I wrote it - too much detail/ not enough - I'd like to know so that I dont make the same mistake again.  Or maybe its just that  IIS7 is as poorly documented as it seems to me it is ... or isn't.  Happy coding.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

jQuery is a JavaScript library that greatly simplifies JavaScript programming. AJAX is an acronym formed from "Asynchronous JavaScript and XML."  AJAX refers to any communication between client and server, when the human client does not observe a…
Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question