私は最終的にインテリセンスは、Visual Studio 2008にパッチKB958502を適用すると、このラインを含むことにより、jQueryのために働いてしまっている:私の.jsファイルの先頭にWCF Ajaxサービスのインテリセンスを取得するにはどうすればよいですか?
/// <reference path="JQuery\jquery-1.3.2.js"/>
を。 (ここに示すように)今私はのScriptManagerのScriptReference要素によって生成されたクライアントプロキシにJavaScriptのインテリセンスを取得する方法を把握しようとしている:
<asp:ScriptManager ID="ScriptManager1" runat="Server" EnablePartialRendering="false" AsyncPostBackTimeout="999999">
<Services>
<asp:ServiceReference path="../Services/DocLookups.svc" />
</Services>
</asp:ScriptManager>
クライアントプロキシが働いている - つまり、私はそれらを介して電話をかけることができしかし、私はIntellisenseを得ていない。
私のサービスは.SVCファイルで定義されます。ファイルの背後にあるコードは次のようになり
<%@ ServiceHost Language="C#" Debug="true" Service="Documents.Services.DocLookups" CodeBehind="~/App_Code/DocLookups.cs" %>
:
[ServiceContract(Namespace = "Documents.Services", Name = "DocLookups")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class DocLookups {
...
このクラスのサンプル方法は次のとおりです。
//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;
}
このように定義されたデータコントラクトを使用します:
私のJavaScriptファイルで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; }
}
}
、このサービスへの呼び出しは次のようになります。
Documents.Services.DocLookups.GetCategoriesForSelectList(...
が、私は文書を入力する場合、私は、例えば(何のインテリセンスを取得していません。何もポップアップしない)。私は、生成されたメソッドまたはメソッドによって使用される[DataContract]型のいずれに対しても知覚されません。
私はと考えています。これらのプロキシとタイプのIntellisenseを入手するには間違いがあるかもしれません。 TIA。
それは、最初は動作しませんでしたが、それ私がMicrosoftAjax.jsを参照する前にそれを前もって実行しなければならないことが分かったら、DIDの作業が完了しました。 /// <参照名= "MicrosoftAjax.js" /> /// <参照パス= "../ Documents/Services/DocLookups .svc "/> ヘルプありがとうございます。 –
/// <リファレンスパス= "http://localhost/Services/DocLookups.svc/js" /> .....それはいいとは思いません! – BozoJoe
VS2010では、MicrosoftAjax.jsリファレンスでサービスファイルの参照を先行させる必要があります。どこに書かれているのかわかりませんでした! – BrianFinkel