RESTful C#WCF Post功能
我使用C#创建了一个非常简单的RESTful web服务。我有一个ADO.NET实体模型和一个WCF数据服务。这对于检索我的远程应用程序上的信息来说效果很好。然而,我现在正试图创建一个RESTful函数,该函数对发布的数据做出反应,并将其添加到我的数据库中。以下是我迄今为止共享数据的代码:RESTful C#WCF Post功能,c#,wcf,rest,C#,Wcf,Rest,我使用C#创建了一个非常简单的RESTful web服务。我有一个ADO.NET实体模型和一个WCF数据服务。这对于检索我的远程应用程序上的信息来说效果很好。然而,我现在正试图创建一个RESTful函数,该函数对发布的数据做出反应,并将其添加到我的数据库中。以下是我迄今为止共享数据的代码: namespace WcfService10 { public class GetInformation : DataService<DBLocalEntities> {
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;
}
}
}
名称空间WcfService10
{
公共类GetInformation:DataService
{
//此方法只调用一次以初始化服务范围策略。
公共静态void InitializeService(DataServiceConfiguration配置)
{
//TODO:设置规则以指示哪些实体集和服务操作是可见的、可更新的等。
//示例:
config.SetEntitySetAccessRule(“用户”,EntitySetRights.AllRead);
//config.SetServiceOperationAccessRule(“MyServiceOperation”,ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion=DataServiceProtocolVersion.V3;
}
}
}
为了向我的restful服务中添加一种处理已发布信息的方法,我该如何做呢?它是像添加WCF服务一样简单,还是应该有所不同,以便通过REST工作 将实体访问规则设置修改为:
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一样修改和删除值。考虑使用Web API for REST而不是使用WCFI。您的问题解决了吗?如果是,请更新