这些如何组合在一起:Silverlight,Apache,PHP,MySQL,Web服务?

时间:2012-03-21 15:31:00

标签: database silverlight web-services

在过去的几周里,我一直在尝试自学一些关于silverlight的知识,以及它是如何工作的,我在应用程序开发中已经到了我想要连接到我的Web服务器的MySQL的地步数据库中。

我的Web服务器能够运行ASP.NET页面,但是是Apache,并且本机运行PHP(这是我更熟悉的)。它有一个MySQL数据库引擎,我非常精通你用PHP和MySQL创建典型的动态页面。

我不熟悉的是这些“Web服务”,每当我找到关于“如何将silverlight连接到数据库的问题?”的问题时,人们会不断提及这些“Web服务”......

所以我的基本问题实际上是数据FLOW之一,并且所有内容都适合拼图,以及如何在这个特定配置中使用它。我见过的大部分答案都是用IIS而不是Apache,ASP.NET而不是PHP,以及MS SQL Server而不是MySQL。

此外,答案倾向于开始使用缩写和首字母缩写词而不实际解释它们代表什么。

例如:什么是WCF和RIA服务,以及它们如何适应整个拼图?

我想我只是在MACRO级别上寻找自上而下的数据流结构概述,而不是微观(代码)级别。

(已编辑添加:) 另外:我以前做过vb.net应用程序已经使用MySQLConnector.NET远程从我的Web服务器数据库中提取,但我知道客户端机器必须被列入白名单作为远程机器,这意味着我必须打开我的MYSQL服务器,并使访问掩码基本上%。%。%。%以便任何客户端连接...这是不可取的...所以如果我理解正确,Web服务在Web上运行服务器,客户端向它发送请求,Web服务充当中介,从数据库中获取数据(可能与某种类似的“存储过程”相似?),并将数据传递给客户端。 ..这也意味着所有数据库访问凭证都在服务器上,而不是在(可能是可以破解的)客户端内......

我说得对吗?

另外,在回答时,我需要知道访问Web服务的位置是...在silverlight APP项目代码中,还是Silverlight WEB项目代码......

1 个答案:

答案 0 :(得分:3)

我找到了这个有助于解释它的精彩教程...... http://www.designersilverlight.com/2010/05/23/php-mysql-and-silverlight-the-complete-tutorial-part-1/

以下是我对此的理解。

流程有3个“层”:应用程序,Web服务器和数据库。

应用程序调用Web服务器来执行脚本文件(就像普通的PHP脚本一样)。脚本文件可以传递给它的普通URL变量(比如script.php?foo = bar,所以$ foo在脚本中被定义为“bar”)...所以你可以使用那些URL编码的变量/值对进行调整您的脚本通常与网页一样。

我想你会有每个TYPE数据库查询一个脚本,有var / value对来调整你的结果。因此,在您的Web服务器上,您最终会得到许多PHP脚本,就像通常对于具有不同页面的网站一样,并且您将变量传递到这些脚本以自定义结果。

例如,对于用户,您可以使用get_users.php脚本来返回所有用户......

但get_users.php?loggedin = true会获取当前登录的所有用户 get_users.php?loggedin = true& ingame = true将获得登录和游戏中的所有用户...您只需相应地编写逻辑脚本和生成的SQL查询。

所有结果都使用XML或JSON编码(Javascript打开表示法:请参阅What is JSON and why would I use it?)以便传输到应用程序...实际上,应用程序正在读取JSON回显的结果编码的东西。

如果您要在Web浏览器中打开这些脚本,您唯一能看到的是JSON数据的文本打印输出......没有网页...只是应用程序读取然后解码的数据对象。

因此,实际上,silverlight应用程序正在读取在您的Web服务器上执行的PHP脚本的文本输出,并解释输出。

^^^^^这是对我的问题的短暂回答。 :)

说实话,整个术语“网络服务”的使用是误导性的,真正让我误入歧途的是什么。我认为这是某种服务或应用程序,你必须像PHPMyAdmin一样安装在你的网络服务器上。