Architecture ServiceStack Razor文件位于单独的项目中
我有一个解决方案,包括一个ServiceStack后端,具有常规设置(AppHost、ServiceInterface和ServiceModel),以及一个winforms应用程序和一个使用服务的iOS应用程序 现在我想成为一名网站管理员,我想就如何构建这个网站寻求建议。我希望保持apphost项目的小型化,因为 理想情况下,根级别的AppHost项目应该保持轻量级和 实现免费 因此,我希望将web管理员放在一个单独的项目中,包含所有的.cshtml和内容 这可能吗?不推荐?有什么想法吗 我能想到的一些选择是Architecture ServiceStack Razor文件位于单独的项目中,architecture,servicestack,servicestack-razor,Architecture,servicestack,Servicestack Razor,我有一个解决方案,包括一个ServiceStack后端,具有常规设置(AppHost、ServiceInterface和ServiceModel),以及一个winforms应用程序和一个使用服务的iOS应用程序 现在我想成为一名网站管理员,我想就如何构建这个网站寻求建议。我希望保持apphost项目的小型化,因为 理想情况下,根级别的AppHost项目应该保持轻量级和 实现免费 因此,我希望将web管理员放在一个单独的项目中,包含所有的.cshtml和内容 这可能吗?不推荐?有什么想法吗 我能想
- 单页应用程序,让少数
文件存在于AppHost项目中。这值得学习吗cshtml
- 让单独的项目调用web服务。考虑到它们生活在同一个web服务器上,这不是很无效吗?或者它应该被认为是一种优势,因为它使所有东西都松散耦合
ServiceStack.Razor
的引用,因此.cshtml
将被编译ServiceStack.Razor.BuildTask
以预编译Razor文件。这是将它们包括在loadfromsassemblies
参数中所必需的LoadFromAssembly
的程序集中找到Razor文件,例如:
this.Plugins.Add(new RazorFormat { LoadFromAssemblies = { typeof(ActivityServer.Admin.AdminServices).Assembly } });
AppHost():base(…)
,或者如果需要这些服务的前缀,请使用AppHost.RegisterService需要指出的一点是,外部DLL中的Razor文件没有单独的命名空间,因此外部DLL中的“hello.cshtml”与主AppHost中同名的文件冲突。通过将所有cshtml文件(在外部dll中)放在子文件夹下,这将有所帮助,因为该文件夹将是URL的一部分 谢谢,这让我达到了我想要的目的,但是在汇编没有编译的时候出现了一些问题,到处都是错误。我不知道SS.Razor也必须在新编译的程序集中被引用,虽然它非常简单,但是VS错误消息已经关闭。在文档中它说“保留最佳开发工作流”。但当我在外部DLL中更改.cshtml文件时,直到我停止调试并重新编译,它才会反映出来。有什么我做错了吗?@sample self-hosting查看在每次构建后复制到
/bin
目录的razor视图。有关如何将Config.WebHostPhysicalPath
更改为的信息,请参阅此答案。