2

我有一个可行的解决方案,虽然我怀疑有一种更有效的方法来做到这一点......最终结果是主题的照片显示在网页上。为此,我有一个 ServiceStack 服务,它返回一个字节数组,我将它提供给一个 HttpHandler,后者获取字节数组并将其转换为图像。这样我可以将图像的 src 设置为http://www.mydomain.com/httphandler.ascx?id并显示特定人的图像。我希望我可以绕过 HttpHandler 并使用 ServiceStack 将图像返回到网页。我找不到任何好的例子,但我相信我读到 ServiceStack 可以做到这一点。这可能吗?

4

1 回答 1

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;
    }
}
于 2013-07-10T19:39:03.593 回答