情况:
我有一个开发的asp.net网站,位于我们路由器后面的服务器上,网站需要能够通过互联网从我们的服务器连接到客户端sql server实例。
其他信息:
我的asp.net网站是一个数据验证工具,它针对个人数据库运行数百个sql语句,以验证其中的数据。
问题:
最好的意思是,安全且易于实施
可能的解决方案:
非常感谢任何问题的评论和关注!
答案 0 :(得分:1)
您的ASP.NET应用程序确实是否需要连接到客户端数据库? 这听起来不是一个好主意。
一些替代解决方案可能是:
<强>轮询:强> 将在客户端运行并与ASP.NET应用程序联系的应用程序,接收数据然后将其插入数据库。这听起来与您的初始意图相似,但略有不同。客户端正在启动通信,因此您无需担心连接,本地应用程序还可以执行数据库/业务规则/应用安全性检查,例如与ASP.NET应用程序的HTTPS通信等。
客户端/服务器: 与Polling解决方案类似,您可以在客户端设置另一个应用程序来设置通信(可能是WCF net TCP / http SOAP),客户端可以向您的ASP.NET应用程序注册,然后您可以随时向其发送数据在推送架构中。
上述两种解决方案都只是简单的想法,而不是完整的实施指南,但它可能会帮助您探索其他途径。
<强>服务:强> 您是否可以在本地存储数据并为客户提供接收数据的方式,而不是直接将数据写入数据库?例如每个客户的RSS / XML提要?
如果备选方案不适合您的实施要求,并且您必须连接到许多客户端基础架构,我认为您需要支持上面列出的所有选项,具体取决于其内部IT策略(如果他们被允许甚至接受外部联系)他们可以规定他们更喜欢哪一个。
答案 1 :(得分:1)
我目前工作的公司目前使用各种系统。我们一直只是在我们的网络和客户端之间使用私有B2B VPN连接,只有我们的软件打开所需的端口。如果客户愿意,这可能是您最好和最简单的连接形式。我们将此连接仅限于有线连接,并且仅限于已知为公司计算机的MAC地址。但是你可以根据需要对你的应用程序进行微调。
如果您正在寻找一些不那么具有侵入性的东西,我建议您编写一个WCF服务,向您的网站公开您需要的数据并让客户安装,大多数客户愿意这样做,如果他们正在寻找至少根据我的经验,从另一家公司购买服务。
另一个选择是让您的网站成为“盒装”产品,并将软件出售给客户,以便他们安装在网络内部并在局域网上运行,而不必让您访问。< / p>