When I attempt to call Bing 2.0 API from clientside javascript I get this error:
Microsoft JScript runtime error: 'BingSearchWithAjax' is undefined
Can anyone help clue me in to what I'm doing wrong?
The steps I took are as follows:
Open Visual Studio 2008
Click File->New->Website
choose Web site with ASP.NET 2.0 Web Site template
rename default.aspx to BingAjaxClient.aspx
ensure code behind file class name matches new Inherits:BingAjaxClient
Add reference to Bing 2.0 API as described here:
http://msdn.microsoft.com/en-us/library/dd250965.aspx
Add new WCF Ajax service:
Right click project name and choose Add New Item from the context menu that appears
select Ajax-enabled WCF Service
give it the name BingSearchWithAjax.svc and click Add
it will add a code behind file to the App_Code folder named BingSearchWithAjax.cs
add the following code to the BingSearchWithAjax.cs file:
using System;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
// import Bing API
using Bing.API; //normally net.bing.api;
using System.Collections.Generic;
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class BingSearchWithAjax
{
    [OperationContract]
    public List
 Search(string query)
        {
            BingService srchClient = new BingService();
            SearchRequest req = new SearchRequest();
            req.AppId = "D4CE339EAFDAA4903E7499C24ADDF81E55DD6BDB";
            req.Query = query;
            req.Market = "en-us";
            req.Sources = new SourceType[] { SourceType.Web };
            req.Adult = AdultOption.Moderate;
            req.Web = new WebRequest();
            req.Web.Options = new WebSearchOption[]
            {
                WebSearchOption.DisableHostCollapsing,
                WebSearchOption.DisableQueryAlterations
            };
            SearchResponse srchResponse = srchClient.Search(req);
            // create links based on the search results
            List li = new List();
            Console.WriteLine("result");
            foreach (WebResult res in srchResponse.Web.Results)
            {
                LinkInfo link = new LinkInfo();
                link.url = res.Url;
                link.title = res.Title;
                li.Add(link);
            }
            return li;
        }
    [DataContract]
    public class LinkInfo
    {
        [DataMember]
        public string url { get; set; }
        [DataMember]
        public string title { get; set; }
    }
}
 
 add the following code to the BingAjaxClient.aspx form:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BingAjaxClient.aspx.cs" Inherits="BingAjaxClient" %>
    Ajax-Enabled Bing Search
    
    Ajax-Enabled Bing Search Client
    
 
Thanks,
Brandon Prescott