如何在vNext中将所有cshtml文件编译成DLL或.NET程序集?

5
我正在使用带有MVC的ASP.NET 5(vNext),是否有一种解决方案可以将所有视图发布到单独的dll中?

通常情况下不需要这样做,因为定制它会变得很麻烦(如果您将其作为第三方库的一部分发布给某些CMS等)。我可以问一下您为什么需要它吗?如果您唯一的关注点是性能,您可以像在此帖子中提到的那样启用Razor视图编译https://dev59.com/Z1wX5IYBdhLWcg3wrRE5。 - Tseng
安全是我的关注点,如果我有一个 DLL 文件,我可以对其进行混淆。我知道这样做会损失性能,但安全非常重要。 - Ehsan Zargar Ershadi
奇怪的要求。你在视图中放置了什么内容,以至于你有安全方面的顾虑?视图应该只显示您已经准备好的数据,并且除此之外只包含HTML。听起来过于偏执,试图混淆它们。在我看来,视图应该是公开的,这样第三方库的视图就可以在使用它们的应用程序中进行自定义。如果它不是公共插件/扩展/包,那么也没有真正需要混淆它。 - Tseng
如果你担心非视图相关代码的调用可见,那么请使用viewmodels。不要混淆viewmodels,而是混淆你的领域层(模型、服务、存储库)。视图不会受到影响,因为它消耗的是viewmodel而不是模型。 - Tseng
你说得没错,但视图使用依赖注入来访问一些来自存储库的服务,这可能是安全弱点,我想防止服务器管理员从视图层注入任何代码。 - Ehsan Zargar Ershadi
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接