提问人:E. H 提问时间:2/7/2023 更新时间:2/7/2023 访问量:17
如何构建 .NET 项目以防止程序集包含在客户端应用程序中?
How to structure a .NET project to prevent assemblies from being included in client-side applications?
问:
因此,我目前正在 .NET 中编写一个面向 DDD 的软件系统,它有一些 Web 项目(如网站、API、管理员)和一个核心后端项目,其中包含所有服务接口、查询规范以及至关重要的数据库实体。 除此之外,还有一个基础设施项目,其中包含许多服务接口的实现,即特定的数据库存储库、用于文件上传的特定存储系统等。
将来,我想添加一个客户端应用程序,这是一个人们可以安装的基于 .NET MAUI 的桌面应用程序。
我现在的问题是,我应该把 DTO(在我的客户端应用程序和 API 之间发送的对象)或通知订阅服务实现之类的东西放在哪里,因为这些是服务器和客户端都需要知道的东西(即都希望能够对状态通知做出反应)?
在服务器端 (Web) 项目中,我可以只引用核心项目并完成它,但是我不想对客户端应用程序这样做,因为这意味着核心项目与客户端应用程序打包并登陆用户系统,可能会“暴露”整个数据库结构(由于包含实体)以及部分后端代码。
我知道有一些东西,比如 .NET 代码的混淆器等,但我也不想使用它们,因为它并不是问题的真正解决方案,而更像是对症状的掩盖。
有没有一种好方法可以构建我的项目以实现我的目标,理想情况下,不必在构建过程中编写两次服务或复制文件?
答: 暂无答案
评论