Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从运行在“”上的远程应用程序访问用户pc上的本地数据库;Azure服务器";_C#_Database_Azure_Rdp_Remoteapp - Fatal编程技术网

C# 从运行在“”上的远程应用程序访问用户pc上的本地数据库;Azure服务器";

C# 从运行在“”上的远程应用程序访问用户pc上的本地数据库;Azure服务器";,c#,database,azure,rdp,remoteapp,C#,Database,Azure,Rdp,Remoteapp,我对微软Azure和开发远程应用相当陌生 已经阅读并查看了一些学习资料 我使用c#作为我的开发语言,据我所知,开发一个windows应用程序作为远程应用程序在Azure服务器上运行相当简单,地球上任何地方的用户都可以从他们的pc上运行,就好像它是本地安装在他们的pc上一样。但实际上,它更像是隐藏在应用程序后面的RDP 问题是数据库将在每个用户的pc上运行,而不是在azure服务器上运行。这是故意的,别问我为什么 我们倾向于对本地数据库使用“ms access”,因为每个人都有ms Office

我对微软Azure和开发远程应用相当陌生

已经阅读并查看了一些学习资料

我使用c#作为我的开发语言,据我所知,开发一个windows应用程序作为远程应用程序在Azure服务器上运行相当简单,地球上任何地方的用户都可以从他们的pc上运行,就好像它是本地安装在他们的pc上一样。但实际上,它更像是隐藏在应用程序后面的RDP

问题是数据库将在每个用户的pc上运行,而不是在azure服务器上运行。这是故意的,别问我为什么

我们倾向于对本地数据库使用“ms access”,因为每个人都有ms Office

无论如何,回到问题上来。我想知道的是,如何使azure server上的远程应用程序与用户PC上本地安装的数据库通信

我画了一个简单的数字来解释我的意思


回到人们使用调制解调器将电脑连接到电子管的时代,这在理论上是可能的(尽管可能不是一个好主意)。如今,很少有个人电脑直接连接到互联网

在办公室中,PC将通过公司内部网连接到外部网关,网关外的任何人都看不到该PC。家庭也是如此,网关就是路由器

允许外部访问(从Azure)到个人电脑可能需要大量工作,但设置起来并不容易。此外,您需要编写一个在PC上运行的软件,该软件将在正确的端口上侦听来自Azure的呼叫,然后运行适当的SQL查询,并将数据返回Azure。您还可以在每台电脑上安装SQL Server完整版

即使你这样做了,没有安全专业人员会让你真正打开互联网的端口和防火墙;做这件事需要做很多工作,你也可以在电脑上安装随机病毒——你会达到同样的目的,但速度更快,浪费的时间更少


TL;DR:如果没有大量的投资,这并不容易,如果你这样做,你的电脑可能会被毁掉。

这实际上是可能的,因为RDP协议的魔力:)

Azure RemoteApp支持Windows计算机的重定向,如下所述:

因此,创建Azure RemoteApp集合后,可以下载PowerShell cmdlet,输入订阅ID,然后启用驱动器重定向。这将导致本地磁盘映射到远程计算机上。您可以尝试一下,看看性能是否足够好

另一种选择是数据库位于Azure存储帐户中,如下所述:

您不应在Azure RemoteApp本地计算机上存储数据

/光盘