Je dois étendre mon service de données WCF pour inclure des méthodes supplémentaires, pas seulement les tables de base de données.Ajout de méthodes REST aux services de données WCF?
Mais cela ne semble pas fonctionner correctement.
Tout d'abord je veux demander si c'est légal? ou mal vu?
La raison pour laquelle je dois le faire est que je dois ajouter des méthodes de repos supplémentaires qui feront appel aux services d'adhésion ASP.NET (les tables sont dans la db) pour valider un login-à-dire
public bool IsValidLogin(string username, string password)
{
return System.Web.Security.Membership.ValidateUser(username, password);
}
ici est ce que j'ai (j'ai simplifié le IsValidLogin pour tester).
[WebGet(UriTemplate = "TestMe")]
public bool IsValidLogin()
{
return true;
}
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
// TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
// Examples:
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.SetServiceOperationAccessRule("IsValidLogin", ServiceOperationRights.All);
Maintenant, quand je vais à
http://localhost/MyDataAccess/MyService.svc/IsValidLogin
Il semble fonctionner, je reçois un vrai retour sous la forme de XML. Mais j'ai mis un URI alors j'ai pensé que je pourrais le faire
http://localhost/MyDataAccess/MyService.svc/TestMe
Mais cela échoue? Je suis vraiment confus, des idées?
aussi pour que cela fonctionne, je besoin d'ajouter cette ligne, mais un peu, mais confus ici
config.SetServiceOperationAccessRule("IsValidLogin", ServiceOperationRights.All);
Toute aide vraiment apprécié
Quelle liaison avez-vous dans votre web.config? Afin de soutenir SOAP et REST dans WCF j'ai eu deux classes avec différentes liaisons. –