0

C# を使用して非常に単純な RESTful Web サービスを作成しました。ADO.NET Entity Model と WCF Data Service があります。これは、リモート アプリケーションの情報を取得するために正常に機能しています。ただし、投稿されたデータに反応してデータベースに追加する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 に答える