Мне нужно расширить мою службу данных WCF, чтобы включить дополнительные методы, а не только таблицы базы данных.
Но, похоже, она работает неправильно.
Во-первых, я хочуспросите, законно ли это?или нахмурился?
Причина, по которой мне нужно это сделать, заключается в том, что мне нужно добавить дополнительные методы REST, которые будут вызывать службы членства ASP.NET (таблицы находятся в БД) для проверки имени входа, т.е.
public bool IsValidLogin(string username, string password)
{
return System.Web.Security.Membership.ValidateUser(username, password);
}
Вот что у меня есть (я упростил IsValidLogin для тестирования).
[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);
Теперь, когда я перехожу к
http://localhost/MyDataAccess/MyService.svc/IsValidLogin
Кажется, это работает, яполучить истинный обратно в виде XML.Но я установил URI, поэтому я подумал, что смогу сделать это
http://localhost/MyDataAccess/MyService.svc/TestMe
Но это не получается?Я действительно запутался, есть идеи?
Кроме того, чтобы это работало, мне нужно было добавить эту строку, но немного, но запутался здесь
config.SetServiceOperationAccessRule("IsValidLogin", ServiceOperationRights.All);
Любая помощь действительно ценится