Rav*_*tel 8 c# asp.net asp.net-mvc wcf asp.net-web-api
请考虑以下网络安全设置:
Users Internet
|
====Firewall==== Port 80, 443 only
|
Web Server DMZ - ASP.NET MVC + Web API
|
====Firewall==== Port 80, 443 only
|
"App" Server WCF or ASP.NET Web API ??
|
Database Internal network
Run Code Online (Sandbox Code Playgroud)
我在很多客户端看到了上面的网络设置.IT基础架构团队不允许DMZ中的Web服务器通过端口1433建立与内部网络中托管的SQL Server的直接连接.反讽我看到web.config位于Web服务器上,带有纯文本数据库密码,他们是好的.
通常我已经看过并研究了在"App"服务器上托管WCF的解决方案(因为它可以在HTTP端口上使用),如图所示.WCF成为Web前端与DB交互的唯一方式.使用WCF的一个"好处"是它返回强类型对象,这些对象很容易从ASP.NET MVC前端消耗.
问题:
请注意,我们目前无法使用ASP.NET Core.
由于这是一个反复出现的问题,我真的很想听听社区是否有比使用WCF更好的解决方案.
我刚刚做了一个有同样问题的系统,数据库访问仅限于应用程序服务器。
我们选择采用的方法是 Mvc 前端和托管在应用程序服务器上的 Web Api 后端。
为了获得通常通过 WCF 获得的强类型,我们选择了一个名为 Refit 的工具:https: //github.com/paulcbetts/refit。它允许您将带有预配置 url 模板的接口转换为可以通过普通 DI 容器注入的对象,使其非常易于测试并删除大量样板 HttpClient 代码。这与 WebApi 后端配合得非常好。
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |