2

我开发了一个 MVC4 Code First 应用程序,它位于安全的服务器环境中,它从表单中获取信息并处理它们。

一个新的要求出现了,让一些“公共/外部”表格提交给这个,我正在寻找最好的方法。

表单模型非常复杂和深刻,有很多继承。

已经指出,现有内部信息的安全性至关重要。

因此,为了将数据输入其中,我正在考虑创建一个 WCF Web 服务以将公共表单直接提交到内部,它只能提交。这样一来,我们就不会冒着通过公共网络服务器暴露现有内部数据的风险。我需要从内部使用对象模型,因为有些是相同的,尽管略有扩展。例如。我的 MasterForm 模型,所有其他表单都继承自该模型。以及主人员类型,表单中引用的不同类型的人员都继承自该类型。

这是一个好方法还是有更好的方法?

这就是我目前所在的地方......而且还没有走远。(抱歉,如果图标等不是您通常所期望的,但希望您能理解;我没有 Visio!) 目前的想法

到目前为止,在采用这种方法时,我在无法确定序列化/反序列化时遇到了继承模型的困难。我尝试在 WebService 旁边托管 WCF 数据服务来提交表单,但它不允许我使用数据服务中的模型通过 WCF 表单提交 WebService 提交。

4

1 回答 1

0

SOA 绝对是通往这里的道路,而 WCF 将是 .Net 世界中明智的方法。

但是,这会引发一个围绕您的模型设计的问题。跨应用程序域公开/共享“视图”(本质上是您的表单对象)可能被视为糟糕的设计。

在这种类型的场景中,我通常在我的服务层中公开相当基本的业务对象,并为每个应用程序域创建视图,将相关数据映射到每个视图模型中。即,我的 WCF 服务充当业务层,允许您的应用程序查询业务特定数据。

此外,请确保在将数据传递到 WCF 服务时使用 HTTPS / SSL。这需要 SSL 证书,但您可以生成自签名证书,而忽略证书错误。如果您使用的是 .Net 4.5,则可以使用新的BasicHttpsBinding

于 2012-12-20T13:15:07.507 回答