AJAX Enabled Web Service

Discussion in 'ASP.NET / ASP.NET Core' started by lars007, Aug 6, 2008.

  1. As a test I built a really site to try to nail down the problem but cannot.

    I followed the exact steps as stated in (just different service name and method implementation):

    http://msdn.microsoft.com/en-us/library/bb924552.aspx

    It works fine running locally but when I deploy (all files) to my Discountasp.net site (www.cheryllaakes.com/gallery.aspx, /gallerysearch.svc) it does not work.

    Errors:

    When I click on the button to make the actual ajax call to the web service I get a client-side javascript error stating that the "Woolgal" (the namespace of the service) is undefined.

    Also an error when I try to point the browser at the .svc file.

    Again everything works fine when run locally.

    Any suggestions?

    For reference:

    GallerySearch.svc



    <%@ ServiceHost Language="C#" Debug="true" Service="Woolgal.GallerySearch" CodeBehind="GallerySearch.svc.cs" %>
    GallerySearch.svc.cs



    using System;


    using System.Linq;


    using System.Runtime.Serialization;


    using System.ServiceModel;


    using System.ServiceModel.Activation;


    using System.ServiceModel.Web;


    namespace Woolgal


    {


    [ServiceContract(Namespace = "Woolgal")]


    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]


    public class GallerySearch


    {


    // Add [WebGet] attribute to use HTTP GET


    [OperationContract]


    public int GetSecond()


    {


    // Add your operation implementation here


    return DateTime.Now.Second;


    }


    // Add more operations here and mark them with [OperationContract]


    }


    }
    Gallery.aspx



    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Gallery.aspx.cs" Inherits="Woolgal.Gallery" %>


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


    <html xmlns="http://www.w3.org/1999/xhtml" >


    <head runat="server">


    <title></title>


    <script language="javascript" type="text/javascript">


    // <!CDATA[


    function Button1_onclick() {


    var service = new Woolgal.GallerySearch();


    service.GetSecond(onSuccess, null, null);


    }


    function onSuccess(result) {


    alert(result);


    }


    // ]]>


    </script>


    </head>





    <form id="form1" runat="server">


    <div>





    <asp:ScriptManager ID="ScriptManagerGallerySearch" runat="server">


    <Services>


    <asp:ServiceReference Path="GallerySearch.svc" />


    </Services>


    </asp:ScriptManager>





    </div>


    </form>


    <p>


    <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" /></p>


    </body>


    </html>

    Web.config







    <configuration>





    <configSections>


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


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


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


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


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


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


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


    <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />


    </sectionGroup>


    </sectionGroup>


    </sectionGroup>


    </configSections>





    <appSettings/>


    <connectionStrings/>





    <system.web>


    <!--


    Set compilation debug="true" to insert debugging


    symbols into the compiled page. Because this


    affects performance, set this value to true only


    during development.


    -->


    <compilation debug="false">


    <assemblies>


    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>


    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>


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


    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>


    </assemblies>


    </compilation>


    <!--


    The <authentication> section enables configuration


    of the security authentication mode used by


    ASP.NET to identify an incoming user.


    -->


    <authentication mode="Windows" />


    <!--


    The <customErrors> section enables configuration


    of what to do if/when an unhandled error occurs


    during the execution of a request. Specifically,


    it enables developers to configure html error pages


    to be displayed in place of a error stack trace.


    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">


    <error statusCode="403" redirect="NoAccess.htm" />


    <error statusCode="404" redirect="FileNotFound.htm" />


    </customErrors>


    -->


    <pages>


    <controls>


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


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


    </controls>


    </pages>


    <httpHandlers>


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


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


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


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


    </httpHandlers>


    <httpModules>


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


    </httpModules>


    </system.web>


    <system.codedom>


    <compilers>


    <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"


    type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">


    <providerOption name="CompilerVersion" value="v3.5"/>


    <providerOption name="WarnAsError" value="false"/>


    </compiler>


    </compilers>


    </system.codedom>





    <!--


    The system.webServer section is required for running ASP.NET AJAX under Internet


    Information Services 7.0. It is not necessary for previous version of IIS.


    -->


    <system.webServer>


    <validation validateIntegratedModeConfiguration="false"/>


    <modules>


    <remove name="ScriptModule" />


    <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>


    </modules>


    <handlers>


    <remove name="WebServiceHandlerFactory-Integrated"/>


    <remove name="ScriptHandlerFactory" />


    <remove name="ScriptHandlerFactoryAppServices" />


    <remove name="ScriptResource" />


    <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"


    type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>


    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"


    type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


    </handlers>


    </system.webServer>


    <runtime>


    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">


    <dependentAssembly>


    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>





    </dependentAssembly>


    <dependentAssembly>


    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>





    </dependentAssembly>


    </assemblyBinding>


    </runtime>


    <system.serviceModel>





    <endpointBehaviors>


    <behavior name="<FONT c
     
  2. I am getting the same error. Have you been able to fix the problem without rewriting the ajax part?
     

Share This Page