我正在尝试使用HttpPlatformHandler(版本1.2)在IIS(IIS 10.0)中运行基本的Suave应用程序.
当我有它返回一个单一的WebPart,如
(OK "Hello World")
Run Code Online (Sandbox Code Playgroud)
该应用程序在IIS中运行良好,我可以通过http:// localhost/testapp(testapp是默认网站下的应用程序的名称)的名称向它发出请求.
但是,如果我为WebPart使用更复杂的东西,例如
let app =
choose
[ GET >=> choose
[ path "/hello" >=> OK "Hello GET"
path "/goodbye" >=> OK "Good bye GET" ]
POST >=> choose
[ path "/hello" >=> OK "Hello POST"
path "/goodbye" >=> OK "Good bye POST" ] ]
Run Code Online (Sandbox Code Playgroud)
该网站启动但我无法通过应用程序名称访问它.但我仍然可以通过端口到达它.
当我按名称命中应用程序时,我收到HTTP 503.2(坏网关)响应.
应用程序从HttpPlatformHandler执行的FAKE脚本启动.
对于上下文,这是启动应用程序的FAKE脚本:
#r "./tools/FakeLib.dll"
#r "Suave.dll"
open System
open Suave
open Suave.Successful
open Fake
open System.Net
open Suave.Filters
open Suave.Sockets
open Suave.Operators
open System.IO …Run Code Online (Sandbox Code Playgroud)