【问题标题】:How do these fit together : Silverlight, Apache, PHP, MySQL, Web Services?这些如何组合在一起:Silverlight、Apache、PHP、MySQL、Web 服务?
【发布时间】:2012-03-21 15:30:59
【问题描述】:

在过去的几周里,我一直在尝试自学一些有关 silverlight 及其工作原理的知识,并且在我的应用程序开发中,我想连接到我的 Web 服务器的 MySQL数据库。

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

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

所以我的基本问题实际上是关于数据流的问题,以及所有内容都适合拼图的位置,以及如何在这种特定配置中使其全部工作。我看到的大多数答案都是用 IIS 而不是 Apache,用 ASP.NET 而不是 PHP,用 MS SQL Server 而不是 MySQL。

此外,答案往往开始使用缩写词和首字母缩略词,而没有真正解释它们代表什么。

例如:什么是 WCF 和 RIA 服务,它们如何融入整个难题?

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

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

我说对了吗?

另外,在回答的时候,我需要知道在silverlight APP项目代码中,或者silverlight WEB项目代码中,访问web服务在哪里……

【问题讨论】:

  • +1:为什么不加评论就投反对票?他显然已经花时间自己研究和工作,说出他在哪里,并提出具体问题。如果你不喜欢他的问题,让他知道为什么......
  • @Windle 嘿,谢谢。 :) 我只是想对这一切有一个概念性的感觉,而且我经常在讨论的技术不匹配的地方找到答案,或者人们只是假设每个人都知道 XYZ 和 ABC 的含义,以及那些特定的地方拼图块适合拼图......我想如果我正在努力解决它,其他人可能也是如此。
  • 所以这对我来说是一个主要的症结......“网络服务”不是我想象的那样......我认为它就像你安装在你的网络服务器上的一个应用程序在后台运行,有点像数据库服务器本身......但不,它们只是脚本......仅此而已......只是返回格式化数据的 php 脚本。

标签: database silverlight web-services


【解决方案1】:

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

这就是我对这一切的理解。

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

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

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

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

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

所有结果都使用 XML 或 JSON 编码(Javascript Open Notation:请参阅What is JSON and why would I use it?)以传输到应用程序...实际上,应用程序正在读取 JSON 编码内容的回显结果.

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

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

^^^^^ 这是我问题的简短答案。 :)

坦率地说,术语“Web 服务”的整个使用具有误导性,而真正让我误入歧途的是什么。我认为这是您必须在 Web 服务器上安装的某种服务或应用程序,就像 PHPMyAdmin 或其他东西一样。

【讨论】:

  • 很高兴您找到了答案!一件快速的事情可以确保您很好地掌握了“Web 服务”的概念:在更一般的意义上,Web 服务可以用任何东西(不仅仅是 PHP)来实现。例如,假设您在网上找到想要使用的 Web 服务。只要他们提供了如何调用他们的方法的 API(例如,用于 SOAP Web 服务的 WSDL),你并不关心他们是否用 Java、C# 实现,只要你得到你的 XML 或 JSON。跨度>
猜你喜欢
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2022-07-19
  • 1970-01-01
相关资源
最近更新 更多