WCF数据服务或WebAPI

时间:2013-11-20 08:07:05

标签: entity-framework wcf-data-services asp.net-web-api

我是这两种技术的新手,我一直在阅读它们,并开始了两个简单的项目。这个练习的原因是试图了解哪种技术更能满足我的需求。申请如下:

  • 内联网应用
  • 客户端应用程序安装在“应用程序”服务器上,用户使用远程桌面连接到“服务器”计算机
  • 约50个并发用户(在同一个“应用程序”服务器上)
  • 模型使用Entity Framework 6
  • 模型有250多个主要实体,其中许多是复杂的
  • 所有实体必须支持CRUD
  • 许多实体需要支持更多自定义方法
  • 审核所有实体的已修改属性(保存在db中的审核记录)
  • 在服务器上执行长时间运行的任务(例如,批量处理,文件创建......可能需要长达30分钟,具体取决于工作量),客户端必须定期通知(通过事件?)
  • 性能优先

因此,作为一个例子,我已经使用了这样的WCF服务:

    private void SaveCustomer()
    {
        try
        {
            var ctx = new DBContext(new Uri(Constants.ServerURI));
            var c = new Customer()
            {
                Number = 3,
                Name = "John",
                Surname = "Smith"
            };
            ctx.AddToCustomer(c);
            DataServiceResponse resp = ctx.SaveChanges();
        }
        catch (Exception ex)
        {
            //catch exception
        }
    }

但是,我不想将dbcontext公开给客户端。是否可以在WCF项目中实现存储库模式?

另外,我不想拥有1项服务和数百种方法。当我与客户合作时,我想创建一个客户实例,然后使用客户服务提交到db。

从以上几点来看,哪种技术更适合?

0 个答案:

没有答案