【问题标题】:Creating Webservice for retrieving value and updating it to database创建用于检索值并将其更新到数据库的 Web 服务
【发布时间】:2011-01-17 09:20:50
【问题描述】:

http://download.finance.yahoo.com/d/quotes.csv?s=^DJA&f=l1

返回道琼斯指数的值。

我想使用 Dow Jones 的这个值并在我的数据库中更新这个值。

如何创建这样一个每 1 分钟检查一次 Dow Jones 值并更新数据库的 Web 服务?

【问题讨论】:

  • 你的问题不清楚,请多解释。

标签: c# asp.net web-services json


【解决方案1】:

实际上,您不会构建网络服务。相反,您将使用其他人(Yahoo)已经构建的 Web 服务。您是所谓的服务消费者,而雅虎则被称为服务提供者

这里有一些来自 Yahoo 开发者网络的文档,其中包括一些关于使用 REST 发出 GET 和 POST 请求的示例代码:

http://developer.yahoo.com/dotnet/howto-rest_cs.html

您可以将 Yahoo Finance URL 直接替换为 C# GET SAMPLE 2 中显示的方法,它应该将检索到的数据打印到控制台。

 public static void PrintSource(Uri address)  

【讨论】:

    【解决方案2】:

    您可以创建一个检查 Dow Jones 值的 Web 服务,并创建每 x 分钟调用一次 Web 服务的 cronjob。或者您自己创建一个小程序,每隔 x 分钟调用一次网络服务。

    Web 服务只有在被调用时才起作用...

    【讨论】:

    • OP 不会“创建网络服务”。 Web 服务公开一个接口供其他系统使用。在这种情况下,OP 正在构建一个“系统”——而不是一个 Web 服务——它将“使用一个 Web 服务”。只有当 OP 为其他系统公开 REST API 时,他的系统才会被称为 Web 服务。这只是一个小的语法细节;否则,你的答案是正确的。
    【解决方案3】:

    首先,我认为您误解了 WebServce 的含义。给定的 URL 可能是一个 WebService。你想要的更像是一个“普通”的服务,它调用 WebService 并将结果存储到数据库中。

    执行此操作可能是一项简单的任务,具体取决于您的操作方式。最简单的方法是调用此 URL,并将结果作为简单字符串存储到您的数据库中。看here怎么写一个服务,在windows后台运行。

    【讨论】:

    • kun - 我需要在共享托管服务器上托管此 Web 服务。在这种情况下,在后台运行的 Web 服务会工作吗?
    • @meetpd - 我仍然认为您错误地使用了“WebService”一词。根据您的问题,您正在使用 Yahoo 的 WebService。为了回答您的问题,您的应用程序可能有一个后台进程或线程,该进程或线程会每 1 分钟唤醒一次以调用 Yahoo Finance 以检索数据。
    • @meetpd:在无法安装 Windows 服务或配置计划作业的受限环境中,您可以像这里解释的那样“作弊”:codeproject.com/kb/aspnet/ASPNETService.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 2015-12-13
    • 1970-01-01
    相关资源
    最近更新 更多