2010-10-22 107 views
0

我很喜欢ASP.NET编程,我对现在面临的问题感到困惑。ASP.NET:集群环境通信问题

我们一样,在我公司的开发者,住在像图

alt text

没有什么特别所示的集群环境。 您会看到,IIS网站在evry FrontEnd服务器上重复。业务逻辑驻留在后端,与防火墙后面的数据库和NAS文件系统共享。

因此,公共空间与受保护者之间的通信只能通过特定的渠道,特别是针对特定IP和协议的请求获得许可。

现在,我们被要求建立一个网站,用户可以定制他自己的环境,上传图像,这将显示在他的主页和其他功能。

在传统配置中,用户上载图像,该图像写在网站根目录的文件夹中,然后HTML引用该图像来填充任何控件以显示它。 但是,当用户连接到我们的网站时,负载平衡器将选择一个与evry会话不同的特定前端。 因此,用户将上传他的文件,断开连接,然后再次发现他的映像已经消失,“Load Balancer将请求发送到不存在映像的不同前端。

所以需要编写一段代码,将文件从防火墙后面的NAS中拉出来。 上传部分是愚蠢的,我可以理解它。

我的问题是: 当用户连接到他的页面时,我如何在HTML中引用不在机器上运行的网站上的图像,而是在完全隐藏的文件系统上?

我想写一个WCF服务的图像作为一个字节流,但哪个ASP.NET控件使用页面上的流内容,以及如何?

我知道,问专家社区会给我带来最好的方式来实现这一目标。

希望这已经够清楚了。

非常感谢重播,请原谅我的英文不好。

+0

你们看到图像了吗? 我看不到它,但是我支持WebSense,我不确定它是否阻止了它或存在上传问题。 – vaitrafra 2010-10-22 10:12:06

+0

图像适合我。 – 2010-10-22 10:13:35

回答

1

而不是使用您的文件系统的用户图像,我会建议你去一些CDN解决方案,如Amazon S3或其他一些你喜欢的。这种方式你不需要照顾图像存储或请求的地方,它应该始终通过CDN URL(当你在CDN上以编程方式上传图像时给出)进行访问,其URL必须位于数据库中。使用CDN让您在存储您的位置时可以面对许多担忧。

尽管如果您不喜欢使用S3,那么您的选择足以开发一个简单的WCF/WEB服务来上传/提供图像。

+0

这肯定是一个不错的答案,如果只有2年后才给出:) – vaitrafra 2012-08-20 07:09:03