1

背景:我已经编写了一个 CLR 数据库项目,其中包含我正在创建的数据存储的所有业务逻辑。它部署在我的 SQL Server 上,由各种负责数据导入的 CLR StoredProcedures 引用。现在我正在开发 Web 前端,并为此目的开始编写一个 MVC3 项目。由于我已经拥有完整的业务逻辑(对象定义、质量检查),我想在我的 MVC 应用程序中使用代码。

我认为最好的方法是将 BusinessLogic CLR 项目添加到我的 MVC 解决方案中,并在 MVC 项目中引用它。效果很好,我可以使用代码。有了一些耐心,我克服了大多数困难。

问题:

1)当我想调试 MVC 解决方案时,Visual Studio 总是想部署 CLR 程序集。我通过在调试之前在 MVC 解决方案中卸载 CLR 项目来解决这个问题。

2) 从我的 SQLServer 获取UserDefinedType 参考似乎也是一个问题:

3) 我在我的服务器上部署了两次相同的代码,一次使用 SQL 程序集,一次使用我的 MVC 前端。

问题:

  • 是否有在 SQL Server 程序集和前端项目中使用相同代码的最佳实践?也许是一种引用 SQL Server 上部署的 BusinessLogic 程序集的方法?前端代码和 SQL Server 上的 DataImport 内容都应该可以访问业务逻辑中的任何更改。当前的解决方案感觉不对,因为我必须在我的服务器上部署相同的代码 2x,一次使用 SQL 程序集,一次使用我的 MVC 前端。

任何部分答案(即有意义的微光)将不胜感激。我几乎独自一人。

4

1 回答 1

2

业务逻辑代码可以在它自己的类库和项目中。

然后 CLR 数据库解决方案包含了这个 BL 项目,MVC 解决方案也包含了 BL 项目。但是这两种解决方案是分开的。这似乎解决了眼前的问题——尽管如果你更改了 BL 代码,那么你必须进行 2 次部署......

可能只是这个 BL 层没有生活在正确的地方。如果这个 BL 存在于某处的服务中,并且 CLR procs 和 MVC 项目都在这个地方访问它,那就太好了。

于 2012-07-25T18:27:10.587 回答