wcf - 将 REST 方法添加到 WCF 数据服务?

标签 wcf rest wcf-data-services wcf-rest

我需要扩展我的 WCF 数据服务以包含其他方法,而不仅仅是数据库表。

但它似乎无法正常工作。

首先我想问一下这合法吗?还是皱眉?

我需要这样做的原因是我需要添加额外的 REST 方法来调用 ASP.NET 成员(member)服务(表位于数据库中)来验证登录,即

    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);

非常感谢任何帮助

最佳答案

不对上面的 REST 讨论发表评论,只是发布有关如何执行所谓“服务操作”的文档链接:http://msdn.microsoft.com/en-us/library/cc668788.aspx

关于wcf - 将 REST 方法添加到 WCF 数据服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3431816/

相关文章:

c# - 当所有者进程已经被杀死时关闭 TCP 连接

java - 启用从 AngularJS 到 Jersey 的 CORS 发布请求

wcf-data-services - DataService<T> 是否支持Upsert(插入或替换)

c# - WCF 数据服务使用错误的 oData 协议(protocol)版本执行 sproc

c# - 帮助将小型 C# WCF 应用程序转换为 Visual Basic(第 2 部分)

wcf - wsHttpBinding 恢复为基本的 httpBinding

wcf - 如何让 WCF 与此 Web 服务对话?

ios - 如何触发应用程序通过 REST 服务获取数据?

ios - 只需一次将对象添加到 Realm 列表

c# - 序列不包含匹配元素 - EntityFramework