从运行在“Azure服务器”上的远程应用程序访问用户pc上的本地数据库
本文关键字:用户 访问 应用程序 pc 数据库 Azure 服务器 运行 | 更新日期: 2023-09-27 18:13:54
我对MS Azure和开发远程应用程序相当陌生。
已经阅读和观看了一些学习材料。
我使用c#作为我的开发语言,据我所知,开发一个windows应用程序在Azure服务器上作为远程应用程序运行是相当简单的,地球上任何地方的用户都可以从他们的pc上运行,就好像它安装在他们的pc上一样。但实际上,它更像是隐藏在应用程序后面的RDP。
问题是数据库将在每个用户的pc上运行,而不是在azure服务器上。这是设计出来的,别问我为什么。
我们倾向于对本地数据库使用"ms access",因为每个人都已经有了ms Office。
不管怎样,回到问题上来。我想知道的是,我如何使我的远程应用程序在azure服务器上与本地安装在用户(s) PC上的数据库通信?我画了一个简单的图来解释我的意思。
http://snag.gy/ybyed.jpg回到人们使用调制解调器将PC连接到管道的日子,这在理论上是可能的(尽管可能不是一个好主意)。现在,很少有个人电脑直接连入互联网。
在办公室里,一台PC将通过公司内部网连接到外部网关,该网关外的任何人都看不到这台PC。在家里也是如此,网关是路由器。
允许外部访问(从Azure)到个人PC是可能的,但设置起来并不容易。此外,你需要编写一个软件在PC上运行,它将监听来自Azure的正确端口的调用,然后运行适当的SQL查询,并将数据返回到Azure。你不妨在每台电脑上安装SQL Server完整版。
即使你这样做了,没有安全专家会让你真正打开端口和防火墙到互联网;这样做需要大量的工作,你还不如在电脑上随机安装病毒——你会达到同样的目的,但速度更快,浪费的时间更少。
这实际上是通过RDP协议的魔力来实现的:)
Azure RemoteApp支持Windows机器的重定向,文档如下:https://azure.microsoft.com/en-us/documentation/articles/remoteapp-redirection/
所以,一旦你创建了一个Azure RemoteApp集合,你可以下载PowerShell cmdlet,输入你的订阅ID,然后你可以启用驱动器重定向。这将导致将本地磁盘映射到远程计算机上。您可以试用一下,看看性能是否足够好。
另一种选择是数据库驻留在Azure存储帐户中,如下所示:https://azure.microsoft.com/en-us/documentation/articles/remoteapp-anyapp/.
你不应该在Azure RemoteApp本地机器上存储数据。
/cd