Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Getting Ajax call to work in IIS7 web site

Posted on 2008-09-30
1
Medium Priority
?
2,365 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Fill in the form and get your FREE NFR key NOW!

Veeam® is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

Question has a verified solution.

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

The most up-to-date version of this article is on my Blog https://iconoun.com/blog/
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…

688 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