.net - 在文件保存时重新加载 Suave 应用程序

标签 .net f# suave

我最近开始使用 Suave;我使用 yeoman 和 F# 生成器设置了一个项目。为了运行该应用程序,我使用 Fake 构建了一个可执行文件,然后运行它。每当我更改任何应用程序文件(即 *.fs 文件)时,我都必须重复构建和运行可执行文件的过程。

是否有更好的开发流程,其中应用程序在文件保存时重建或重新加载/重新启动?

最佳答案

F# Snippets project 的构建脚本正是这样做的。

这个想法是你有 app.fsx定义顶级 WebPart 的文件命名 app .您可以查看 F# Snippets here 的示例. app.fsx脚本文件还可以加载其他文件,因此您可以根据需要以任何方式构建应用程序。
build.fsx build script然后启动一个服务器,
监视源代码和 app.fsx 的文件系统更改并使用 F# Compiler Service 重新加载它在后台并用从新 app 获得的服务器替换“当前加载的”服务器值(value)。

当前构建脚本的唯一限制是它不能正确地回收内存(它可能应该通过在构建脚本中重新创建 F# 交互式 session 来修复),因此在大量重新加载后内存不足。但是,它仍然使工作流程更好!

关于.net - 在文件保存时重新加载 Suave 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36802131/

相关文章:

c# - 如何从 Linq.Table<TEntity> 获取 ColumnAttributes?

f# - 使用 Suave 发送具有正确名称的 (zip) 文件

f# - Suave 实验形式选择输入

xml - 如何在 F# 上创建 XNamespace?

.net - F# 图表控件更改图例文本

f# - 使用组合器清理 Suave.io 中的 mapJsonAsync

c# - 如何限制 Parallel.ForEach?

c# - 如何在隔离的 Azure 函数 v4 中获取消息元数据 - C# 中的队列触发器

c# - 用 C# 为 Windows API 编写 COM 服务器,从哪里开始?

asynchronous - "Throttled"在 F# 中异步下载