我有一个有效的解决方案,虽然我怀疑有更有效的方法来做到这一点......最终结果是主题的照片显示在网页上。为此,我有一个ServiceStack服务,它返回一个字节数组,我将它提供给一个HttpHandler,它接受字节数组并将其转换为图像。这样我就可以将图像的src设置为http://www.mydomain.com/httphandler.ascx?id,并显示特定人物的图像。我希望是我可以绕过HttpHandler并使用ServiceStack将图像返回到网页。我找不到任何好的例子,但我相信我读过ServiceStack可以做到这一点。这可能吗?
答案 0 :(得分:2)
Service Return Types上的文档展示了如何返回图像响应,以及ServiceStack的imgur.servicestack.net演示中使用的技术。
另一种解决方案是获得像nginx这样的工业级网络服务器来代替静态文件,从而完全避免使用ServiceStack,ASP.NET或任何托管的.NET代码,您可以通过写入静态文件并重定向来实现它。
这是如何配置nginx以提供/img/
中的所有静态文件,并将缓存标头添加到具有常见Web格式文件扩展名的静态文件中(ico | pdf | flv | swf | exe | txt | css) :
server {
listen 0.0.0.0:80;
server_name myserver.net;
root /home/src/myserver.net;
location /img/ {
alias /home/src/myserver.net/img/;
}
location ~* \.(ico|pdf|flv|swf|exe|txt|css) {
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 1d;
}
location / {
index index.html index.htm index.aspx default.htm default.aspx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}