0

我使用 C# 创建了一个非常简单的 RESTful Web 服务。我有一个 ADO.NET 实体模型和一个 WCF 数据服务。这对于检索我的远程应用程序的信息非常有效。然而,我现在正在尝试创建一个 RESTful 函数来响应发布的数据并将其添加到我的数据库中。这是我迄今为止共享数据的代码:

namespace WcfService10
{
    public class GetInformation : DataService<DBLocalEntities>
    {
        // 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("users", EntitySetRights.AllRead);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
        }
    }
}

为了在我的宁静服务中添加一种处理发布信息的方式,我将如何处理?是像添加 WCF 服务一样简单,还是为了通过 REST 工作而有所不同?

4

1 回答 1

0

将您的实体访问规则设置修改为:

 config.SetEntitySetAccessRule("users", EntitySetRights.All);

在您的客户端代码中,您可以像在 EF 中一样向实体添加项目。

DBLocalEntities client = new DBLocalEntities(URI);
User newUser = new User()
    {
        //Set values to properties
    }
client.AddTousers(newUser);
client.SaveChanges();

这将自动生成适当的 URI 来发布数据。它以 RESTful 方式完成,但 HTTP 方法是从我们那里抽象出来的。您还可以像 EF 一样修改和删除值。

于 2012-11-05T03:35:25.780 回答