【发布时间】:2012-08-20 15:50:15
【问题描述】:
我将如何使用 servicestack 提供静态文件?
我想添加一个类似 Routes.Add(/app) 的路由,当客户端为此路径发出 GET 请求时,我需要返回一个 silverlight xap 文件。
【问题讨论】:
标签: servicestack
我将如何使用 servicestack 提供静态文件?
我想添加一个类似 Routes.Add(/app) 的路由,当客户端为此路径发出 GET 请求时,我需要返回一个 silverlight xap 文件。
【问题讨论】:
标签: servicestack
ServiceStack 已经能够通过直接引用静态文件来提供服务。
否则,如果您希望服务返回文件以供下载,您可以这样做:
return new HttpResult(new FileInfo("~/app.xap"), asAttachment:true) {
ContentType = "application/x-silverlight-app"
};
注意:asAttachment 将控制是否发送 HTTP Content-Disposition 标头。
有关 ServiceStack 响应的更多信息请参见之前的问题:ServiceStack and returning a stream
【讨论】:
http://localhost/example.html 将自动在您的 WebRoot 中提供 ~/example.html 文件(如果存在)。如果您是自托管服务堆栈(即使用 HttpListener 而不是 ASP.NET),则需要设置要使用 Copy If Newer服务的每个静态文件的 Build Action > 因此将副本添加到自身 HttpListener 主机可以访问的 /bin 目录中。