问题标签 [suave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
172 浏览

f# - 为什么在 Suave.Forms 中没有与 bindForm 等效的 bindQuery?

我正在尝试使用 Suave.io 编写一个网站,并有一个可以作为 post 或 get 请求提交的表单。我找到了一个如何将表单值绑定到 dto 的示例,但找不到如何将查询参数绑定到同一个 dto 的方法。

0 投票
0 回答
119 浏览

suave - 处理分段上传

我正在尝试使用 Suave 实现文件上传,但无法正常工作。我正在做的是一个多部分表单帖子,我可以在 ctx.request.files.[0] 中找到该文件。但是,尝试使用读取权限读取 tempFilePath 时出现共享冲突。完成后文件的大小为 0。我应该通过其他地方的流访问它吗?

0 投票
1 回答
657 浏览

f# - 手表模式下的温文尔雅(开发期间)

我正在开发Suave 1.0 + Angular 2.0 示例应用程序,在监视模式下启动 Suave 服务器非常有趣,因此服务器监视根文件夹和子文件夹中的文件更改(js、css、html)并自动向refresh所有打开的浏览器发送命令更改任何文件时与我的应用程序一起使用的选项卡。

lite-serverAngular 2 5min Quckstark可以做到这一点,它非常方便。

我认为大多数手表都可以在最新的 Steffen Forkmann 帖子中找到,但如何发送refresh到打开的浏览器选项卡并不是很干净。

请提供类似实现的完整代码Suave

0 投票
1 回答
722 浏览

iis - 使用 HttpPlatformHandler 托管在 IIS 上的 Suave 应用程序关闭连接

我正在尝试使用 HttpPlatformHandler(1.2 版)在 IIS(IIS 10.0)中运行一个基本的 Suave 应用程序。

当我让它返回一个 WebPart 时,例如

该应用程序在 IIS 中运行良好,我可以通过http://localhost/testapp的名称向它发出请求(testapp 是默认网站下的应用程序名称)。

但是,如果我对 WebPart 使用更复杂的东西,例如

该网站启动,但我无法通过应用程序名称访问它。但是,我仍然可以通过港口到达它。

当我按名称点击应用程序时,我收到 HTTP 503.2(坏网关)响应。

应用程序从 HttpPlatformHandler 执行的 FAKE 脚本启动。

对于上下文,这是启动应用程序的 FAKE 脚本:

上面的脚本按预期工作。但是,如果我使用app WebPart而不是(OK "Hello")遇到上述问题。

为了完整起见,这里是为 HttpPlatformHandler 设置的 web.config:

我查看了日志,但不幸的是,我看不到任何表明错误的内容。

我检查了事件查看器,唯一可能有问题的线索是应用程序日志中的此信息事件:

以下是应用程序确实按预期运行的情况下的部分日志(不带choose):

这是日志的一部分,其中应用程序无法按预期工作(通过路由choose):

当应用程序执行时,连接打开,然后立即关闭。当我通过端口点击应用程序时,会打开一个新连接,然后立即(再次)关闭。

我是在应用程序的主机配置上做错了什么,还是在使用选择功能时遗漏了一些东西?任何帮助,将不胜感激。谢谢!

0 投票
1 回答
258 浏览

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

在 suave.io 中,有一个函数mapJson

有没有办法使用组合器来制作类似的异步版本?我可以手写如下

但最好不必显式定义ctx中间值。

0 投票
1 回答
1558 浏览

f# - Suave 提供静态文件

我想用 suave 为我的“公共”文件夹中的所有文件提供服务

在我的公众中,我有:

我使用 homeFolder 吗?或者这是如何工作的?是否需要将公用文件夹复制到我的 bin 文件夹中的可执行文件旁边?代码片段将不胜感激。谢谢。

编辑:

解决方案如下所示:

0 投票
1 回答
221 浏览

ubuntu - 在 Ubuntu 上运行的 Suave Web 应用程序

我正在寻找一个在 Ubuntu 上运行的 Suave 的简单“Hello, World”示例。我尝试在整个网络上查找无济于事

0 投票
1 回答
497 浏览

f# - 在 F# 和 Suave.IO 中创建一个简单的 TCP 服务器

是否可以使用 Suave.IO 和 F#,按照下面的 http 服务器的方式创建一个简单的单线 TCP 服务器?

(TCP 服务器可以做一些简单的事情,比如用它收到的字符串回复)

谢谢,伊恩

0 投票
3 回答
419 浏览

heroku - 将 WebSharper.Suave Web 应用程序部署到 Heroku

我不明白我需要改变什么才能做到这一点。我使用 app.json 和 Procfile从这篇博文创建了一个演示项目:

接下来,我尝试按照以下建议将其部署到 Heroku:

Heroku 在构建项目时出现错误:

如果有的话,你能给我一个解决方案吗?

0 投票
1 回答
225 浏览

f# - 在 Suave 中聚合来自请求的信息

我正在使用 Suave 构建经过身份验证的 Web API,我经常偶然发现在不同函数中聚合信息的问题

签名:

  • getGame 从 httpContext.request.querystring getInSession 获取 id
  • 从 httpContext.cookie 获取 sessionId

为了做到这一点,我发现的唯一一件事就是将信息存储在 userDataDictionnary 中:

并在其他函数中检索它,但对我来说看起来很讨厌:

还有另一种方法吗?我想拥有像 getGameId 和 get Session 等纯函数,并且能够按照我希望处理我的不同路线来组合它们:

恐怕我需要的是与一些真正的函数式程序员进行一天的谈话..