如何在3层架构中部署/开发Web服务?

时间:2014-04-29 21:23:30

标签: c# .net web-services 3-tier

背景资讯

  • 使用.NET中的C#开发的WebService
  • 需要发布到网络
  • 需要访问数据库服务器。

Web服务是以3层架构开发的。我的意思是webservice引用了一个DLL项目,它处理所有业务逻辑和另一个处理所有数据库交互的DLL项目。

问题

我的客户端有3层架构。因此,看到数据库(APP SERVER)的服务器没有发布到Web,而发布到Web的服务器(WEB SERVER)无法看到数据库。

数据库服务器----> App Server ----> Web服务器

如果我在App Server中发布我的WebService,我将无法从Web访问它。

如果我在Web服务器中发布我的WebService它将无法访问数据库。

问题

这是我处理此问题的最佳方法:

1-我有没有办法将业务逻辑和数据访问DLL放在App Server中并在Web服务器中发布我的WebService?

2-或者我是否需要在App Server中安装我的WebService,以及创建和发布" Dummy" Web服务器中的WebService,它在应用服务器中使用WebService并将其暴露给Web,并且没有更多。

3-别的......

1 个答案:

答案 0 :(得分:0)

您可以考虑设置一个代理,它只是将进入WebServer的请求转发给ApplicationServer。 WebServer已发布到Internet,但实际上只是用于将HTTPS请求转发到内部服务器的端口转发机制。您可以将所有正常强化放在Web服务器上以防止攻击,从WebServer到ApplicationServer的VPN将意味着ApplicationServer不需要发布到Web上。