使用servicestack提供静态文件

Joh*_*nny 4 servicestack

我如何使用servicestack提供静态文件?

我想添加像Routes.Add(/ app)这样的路由,当客户端为此路径发出GET时,我需要返回一个silverlight xap文件.

myt*_*thz 6

ServiceStack已经能够通过直接引用静态文件来提供服务.

否则,如果您希望服务返回要下载的文件,您可以使用以下命令:

return new HttpResult(new FileInfo("~/app.xap"), asAttachment:true) {
   ContentType = "application/x-silverlight-app"
};
Run Code Online (Sandbox Code Playgroud)

注意:asAttachment将控制是否发送HTTP Content-Disposition标头.

有关ServiceStack响应的更多信息,请参阅此前一个问题:ServiceStack并返回一个流

  • @Arjang你只需像在MVC或ASP.NET中那样引用静态文件,例如`http:// localhost/example.html`将自动提供你webRoot中的`〜/ example.html`文件(如果存在).如果你是自托管服务堆栈(即使用HttpListener而不是ASP.NET),你需要设置你想要服务的每个静态文件的**Build Action****复制如果更新**所以添加了一个副本到自我HttpListener主机可以访问的`/ bin`目录. (2认同)