假设我在我的计算机上安装了一个.NET应用程序,我在VB.NET中开发它并使用数据库并向其提供信息。现在我有了一个虚拟主机,让我们说iPage(这就是我使用atm),我把我的网站放在那里,我想查看我提供给数据库的信息。
我以为我可以直接连接到webhost中的MySQL服务器并将其与我的应用程序一起提供,但实际上只有托管在同一服务器上的网站可以连接到MySQL数据库,我猜这是为了安全原因,所以我尝试在我的应用程序中制作一个表单,将信息提交给网站并提供数据库,但没有成功,我无法弄清楚如何,也没有尝试那么难,因为我&#39已多次读过因为安全原因无法提交信息x浏览器,无论如何,我无法找到一种方法来完成这项工作,而我所做的是一个纯粹的网站应用程序,哪个工作正常,但它不是我想要的,但仍然不是我想要的。
这里的问题是:我怎样才能做到这一点?如何使用.NET应用程序提供Web托管的MySQL数据库,以便我可以从任何其他具有浏览器和Internet访问权限的计算机中检索此信息。
答案 0 :(得分:1)
您已阅读了大量不正确的信息。
但实际上只有托管在同一台服务器上的网站才能连接到MySQL数据库
这根本不是真的。您可以通过网络连接到您想要的任何数据库...例如互联网。如果您的应用程序需要更新远程数据库中的信息,请选择它。
现在,您应该了解一些事情。首先,MySQL的有线协议以明文形式发送所有数据。您将希望通过安全隧道使用MySQL。处理此问题的一种简单方法是在服务器和填充数据的应用程序之间设置VPN。
另一件需要注意的事情是,通过互联网访问数据库的速度很慢。将数据库放在用户将使用的服务器附近。什么是更新该数据库可以通过较慢的链接。
最后,您的应用程序需要知道MySQL数据库的连接信息。从您的问题中可以清楚地知道这是您将要使用的某种管理应用程序,还是您将分发给用户的某些内容。如果您要将此信息发送给您的用户,您绝对不想向他们提供您的MySQL凭据,向全世界打开您的数据库,并要求您的用户安装MySQL客户端库。相反,请考虑制作一些应用程序用来进行通信的简单RESTful API。
我尝试在我的应用程序中创建一个表单,该表单将向网站提交信息并提供数据库,但没有成功,我无法弄清楚如何,也没有尝试那么难,因为我&#39已多次阅读,无法提交信息x-browser
这是一个winforms .NET应用程序吗?跨浏览器并不意味着Web上下文之外的任何内容。如果您正在加载网络浏览器控件并在您的网站上加载此表单的页面,那么与使用常规网络浏览器访问该网页的情况没什么不同。没有交叉来源问题。当你遇到问题并假设它们的原因是什么时,而不是简单地放弃,找出具体问题是什么。在Stack Overflow上询问具体问题。你将会做得更多。
这里的问题是:我怎样才能做到这一点?
如果您控制应用程序的使用,请直接连接到MySQL。
如果您需要分发此应用程序,请考虑构建应用程序连接的RESTful Web服务。