1

我在球拍中编写了一个 Web 应用程序,部署后服务器运行良好。问题是,在我超时后,它会第一次为timeout.html页面提供服务,但在那之后,如果我再次访问同一个网页,服务器会抛出以下异常:

Exception

The application raised an exception with the message:

procedure application: expected procedure, given: #f; arguments were: #<request>

Stack trace:

<unknown procedure> at:
  line 58, column 2, in file /Applications/Racket v5.2.1/collects/web-server/dispatchers/dispatch-servlets.rkt
select-handler/no-breaks at:
  line 166, column 2, in file /Applications/Racket v5.2.1/collects/racket/private/more-scheme.rkt
connection-loop at:
  line 74, column 2, in file /Applications/Racket v5.2.1/collects/web-server/private/dispatch-server-unit.rkt

知道有什么问题吗?是因为超时管理器吗?我还附上了我如何定义经理:

#:manager (create-timeout-manager 
                          (lambda (req) 
                            (response/full
     200 #"Okay"
     (current-seconds) TEXT/HTML-MIME-TYPE
     empty
     (list (string->bytes/utf-8 (include-template "templates/timeout.html")))))
                             3600 3600)

如果我没有正确指定超时管理器,那么如何在不影响后续访问的情况下使服务器的一个连接超时?

4

1 回答 1

0

我将需要有关您的程序其余部分的更多信息,因为有关您的超时管理器的所有内容都是正确的,并且我能够在我的测试机器上使用它获得正确的行为。

Jay,Racket Web 服务器维护者

于 2012-09-10T15:46:33.200 回答