我使用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工作?
答案 0 :(得分: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一样修改和删除值。