将EF STE更改为wcf数据服务

时间:2013-10-02 08:08:56

标签: c# wcf entity-framework windows-services dataservice

我有一个WCF类库,我使用 Windows服务在这样的地址(http://myIPAdress:port/MyService)上托管它。

WCFclass库有BLL(业务)引用和Common(Types)引用,BLL在DAL中有DAL引用(n层)我有一个带有 STE生成器的EF DB (类型在Common中生成) )。我的客户端应用程序是一个带有我的服务引用的WPF(与Internet一起工作)。

正如我在本网站STE中所读到的,不再推荐使用STE,我决定使用WCF 数据服务。我只是通过服务发送EF课程,更新很痛苦。

现在我的问题是:

  1. 将STE改为数据服务是否是个好主意?如果不是,最好的主意是什么?我讨厌STE!

  2. 如何更省力地改变它?

  3. 如果我有数据服务,我可以使用Windows服务托管它,还是使用一个Windows服务更好地托管它? (我的意思是将其与主要的WCF服务合并)

  4. 数据服务有多安全?我的意思是我可以加密我的数据吗?

1 个答案:

答案 0 :(得分:1)

我只有2个问题的答案,但也许其他人会指导更多完整的答案。

问题3。您可以使用Windows服务托管任何WCF服务实现(这意味着您可以自托管任何WCF服务)。 从MSDN引用:

  

因为它包含WCF实现,WCF数据服务   支持将数据服务自托管为WCF服务。服务可以   在任何.NET Framework应用程序中自托管,例如控制台   应用。 DataServiceHost类,继承自   WebServiceHost,用于实例化特定的数据服务   地址。   http://msdn.microsoft.com/en-us/library/cc668805.aspx

问题4。您开发的任何服务/应用程序都是安全的,您可以对其进行编码,托管或使用它。而且您的服务与最不安全的组件一样不安全。 如果正确实施和配置,可以使数据服务安全。您还可以使用安全绑定等。 MSDN再次成为您的数据服务安全指南的朋友 http://msdn.microsoft.com/en-us/library/dd728284.aspx

但请记住,IIS允许您进行更多配置,包括安全性,而不是自托管(使用Windows服务)。