gpt4 book ai didi

c# - 从 Razor View 引用动态程序集

转载 作者:太空狗 更新时间:2023-10-29 23:51:00 25 4
gpt4 key购买 nike

如果我在 MVC Controller 中动态编译和加载程序集(在本例中为 View 模型),我如何在 Razor View 中引用该程序集?我不能使用动态模型类型,因为我使用 lambda 表达式。如果我创建一个 dll,将它写入 bin 文件夹,然后加载它,一切正常。但这会导致 AppDomain 回收。

我意识到这种方法在某些情况下可能是一个非常糟糕的主意。这是为了允许自动生成的代码和 View 的预览功能。负载不会是一个问题。我只是不希望每个请求都重新启动应用程序。

最佳答案

您可以将 .cshtml 文件放入一个单独的项目中,该项目未使用 Controller 和模型代码进行编译。由于 .cshtml 文件是单独和即时编译的,因此可以避免在重新编译目标程序集时重新编译。但是,它也会引入自己的痛点。

另一种选择是使用 dynamic 或其他非强类型方法,并认识到这意味着您不能使用 lambda 表达式或其他强类型结构。大多数需要 lambda 的帮助程序也有采用简单字符串的版本,并且在必要时仍然可以手动构建表达式树,尽管它需要更多代码。

关于c# - 从 Razor View 引用动态程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com