Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RESTful C#WCF Post功能_C#_Wcf_Rest - Fatal编程技术网

RESTful C#WCF Post功能

RESTful C#WCF Post功能,c#,wcf,rest,C#,Wcf,Rest,我使用C#创建了一个非常简单的RESTful web服务。我有一个ADO.NET实体模型和一个WCF数据服务。这对于检索我的远程应用程序上的信息来说效果很好。然而,我现在正试图创建一个RESTful函数,该函数对发布的数据做出反应,并将其添加到我的数据库中。以下是我迄今为止共享数据的代码: namespace WcfService10 { public class GetInformation : DataService<DBLocalEntities> {

我使用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;
        }
    }
}
名称空间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。您的问题解决了吗?如果是,请更新