我需要扩展我的 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);
任何帮助都非常感谢