How to get intellisense for WCF Ajax Services?

I finally got Intellisense for JQuery by applying patch KB958502 to Visual Studio 2008 and including this line:

/// <reference path="JQuery\jquery-1.3.2.js"/>

at the top of my .js files. Now I'm trying to figure out how to get JavaScript intellisense for client proxies generated by ScriptManager ScriptReference elements (as shown here):

    <asp:ScriptManager ID="ScriptManager1" runat="Server" EnablePartialRendering="false" AsyncPostBackTimeout="999999">
        <Services>
            <asp:ServiceReference path="../Services/DocLookups.svc" />
        </Services>
    </asp:ScriptManager>

Proxies work, that is, I can make calls through them, but I do not receive Intellisense.

My service is defined using a .svc file:

<%@ ServiceHost Language="C#" Debug="true" Service="Documents.Services.DocLookups" CodeBehind="~/App_Code/DocLookups.cs" %>

The code behind the file is as follows:

[ServiceContract(Namespace = "Documents.Services", Name = "DocLookups")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class DocLookups {
...

An example of a method in this class:

    //Called at the begining of the page to fill in the category list
    [OperationContract]
    public SelectOption[] GetCategoriesForSelectList()
    {
        SelectOption[] Result;
        IDocumentRepository repository = new DocumentEntityRepository(ConnectionString);
        Result = (from cat in repository.GetDocCategories()
                  select new SelectOption(cat.Category_ID.ToString(), cat.CategoryName)).ToArray();
        if (Result.Length > 0)
            Result[0].Selected = true;  //Select first item 
        return Result;
    }

and he uses a data contract defined as follows:

namespace Documents.Services {

[DataContract]
public class SelectOption
{
    //A useful DTO to use when filling a <select> element with options
    public SelectOption(string optionValue, string optionText) {
        OptionValue = optionValue;
        OptionText = optionText;
        Selected = false;
    }
    public SelectOption(string optionValue, string optionText, bool selected) {
        OptionValue = optionValue;
        OptionText = optionText;
        Selected = selected;
    }

    [DataMember]
    public string OptionValue { get; set; }
    [DataMember]
    public string OptionText { get; set; }
    [DataMember]
    public bool Selected { get; set; }
}

}

In my javascript files, calling this service looks like this:

Documents.Services.DocLookups.GetCategoriesForSelectList(...

Intellisense (, , ). intellisense [DataContract], .

, , Intellisense , , . .

+3
3

/// <reference path="../Services/DocLookups.svc" /> ?

+4

,

///<reference path... 

. , , - , WCF - - , , Intellisense JQuery.

, , , , . :

/// <reference path="../Documents/Services/DocLookups.svc" /> 

VS Edit Intellisense... JScript Intellisense...

, , Intellisense:

Error updating JScript IntelliSense: 
C:\TFSSource\LitigationPortal\Version 1.0\LitigationPortal\Documents\Services\DocLookups.svc:
'Type' is undefined @ 0:0

, , .

0
0

Source: https://habr.com/ru/post/1703829/


All Articles