J'essaie de faire fonctionner ASP.NET (Framework 3.5), AJAX et JSON. J'ai deux questions à ce sujet. Ce premier est, quand j'ajoute l'étiquette ci-dessous comme requis par ASP.NET:Besoin d'aide avec ASP.NET (3.5) ScriptManager pour appeler les données JSON WCF via AJAX
[AspNetCompatibilityRequirements(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)]
Je trouve que je ne peux pas ajouter au-dessus d'une déclaration d'interface, seule une classe. Je veux que ce code soit une interface. Quelqu'un peut-il me dire ce que je fais mal? L'erreur est la suivante:
Attribut AspNetCompatibilityRequirements n'est pas valide sur ce type de déclaration. Il est uniquement valable pour les déclarations 'class'.
[ServiceContract(Namespace = "API.Trade")]
[AspNetCompatibilityRequirements(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)]
public interface ITradeService
{
[OperationContract(Name = "GetAllCategories")]
string GetCategories(string itemtype, string keywordstring);
[OperationContract(Name = "GetCategoryByNodeLevel")]
string GetCategories(int NodeLevel);
[OperationContract]
int GetTrades(string KeywordString, string TradeType);
}
LA DEUXIÈME question est, dans la balise ASPX ScriptManager:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="?" />
</Services>
</asp:ScriptManager>
Je remarque que le chemin = attribut doit pointer vers un fichier .SVC. Jusqu'à présent, j'ai utilisé avec succès une bibliothèque de classes WCF pour accomplir ce dont j'avais besoin. La bibliothèque de classes contient les fichiers Trade.cs, TradeService.cs et ITradeService.cs que je compile, puis la référence en tant que service Web dans mon projet Web.
Alors, à quoi devrait "Path =" pointer? Ou, que dois-je ajouter? J'apprends comme je vais et j'apprécie votre patience. Merci d'avance.
Salut Aquillin, Merci pour cela. Je comprends l'essentiel de ce que vous dites, mais je commence à comprendre comment afficher les interfaces que j'ai créées dans ma bibliothèque de classes. Je suppose que j'ai besoin d'ajouter une directive USING à ITradeService et puis faire une référence aux méthodes d'interface (MyMethod) dans la DLL que je peux ensuite utiliser dans "_proxy.MyMethod". Je ne suis pas vraiment sûr de la façon de procéder - pouvez-vous me montrer à quoi ressemblera le code pour ITradeService après avoir ajouté la bibliothèque de classes WCF que j'ai? Je pense que j'ai fait du sens ici ... –