在不同的服务器上分离HTML和代码

时间:2014-10-21 12:01:20

标签: c# html asp.net web

如果我可以将“web”(HTML / aspx)图层和“app”(C#/ aspx.cs)图层拆分到不同的服务器上,我正在构建一个Web表单应用程序并且想要部署吗? / p>

我已经确保所有数据库调用都是通过后面的代码(aspx.cs)进行的,并且网络是严格的HTML(因为我希望用户点击网页,这将会击中将触及数据库的应用程序)。

有可能吗?如果是这样,它是如何完成的,我的意思是我假设我会将C#aspx.cs部署到不同的IIS服务器,但是如何将Web服务器/文件指向该服务器呢?

感谢。

2 个答案:

答案 0 :(得分:1)

是的,你可以。一台服务器运行IIS(或其他Web服务器)并提供HTML / CSS / JS / Image文件,另一台服务器运行一组Web服务(例如使用WCF)可以包含很多后端代码C#(或您选择的语言)。

可能或可能不是最好的方法,并且会根据您提供的解决方案而有所不同,但从技术上来说,它可以正常工作。

答案 1 :(得分:1)

  

如果我可以将“web”(HTML / aspx)图层和“app”(C#/ aspx.cs)图层拆分到不同的服务器上?

是的,但不是你想的那样。

您所描述的是构建一个多层系统,其中不同的逻辑层(应用程序逻辑和业务逻辑)位于不同的物理机器上。为此,首先需要将应用程序逻辑与业务逻辑分开。

意味着将.aspx文件放在一个地方,将代码隐藏(在这种情况下为.dll)放在另一个地方。 两者应用程序层业务逻辑层都有代码。

这意味着创建两个应用程序。一个是您的前端Web应用程序,它包括所有用户界面和用于驱动该界面的任何代码。另一个是服务应用程序(可能是一个Web服务,至少对于初学者来说),技术上有自己的界面,该界面只是服务操作而不是基于HTML的UI。

前端应用程序基本上处理用户请求,与业务应用程序交互(理想情况下,每个前端请求有一个后端请求,如果用例设置正确),并使用响应。这种方法的好处包括:

  • 其他应用程序可以共享相同的后端业务逻辑服务。
  • 可以在后端服务后面保护数据库访问,后端服务可以具有比Web服务器更严格的主机安全性。
  • UI和后端服务可以单独扩展。
  • 可以单独管理用户界面,轻松更改/替换用户界面,而不会影响业务逻辑。