Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否可以通过对Web API的URL调用来获取实时数据?

是否可以通过对Web API的URL调用来获取实时数据?
EN

Stack Overflow用户
提问于 2012-09-02 21:56:51
回答 3查看 2.9K关注 0票数 3

假设您有一个ASP.NET MVC4Web API项目。当您通过URL调用其中一个资源时,它会等待一段指定的时间来获取性能监视数据,然后在完成后以JSON形式返回所有数据。然而,在输入URL和过程完成之间,有没有一种动态返回数据的方法,即。每秒检索性能数据并将其显示在浏览器中。

问题是:据我所知,任何人似乎都知道,通过URL调用API资源是静态的。这意味着,在资源检索完所有信息之前,JSON不会出现,这不是我想要的。我希望能够在API资源检索数据时不断更新浏览器中的JSON。

因为我在一个仓库类和一个控制器类中工作,所以Javascript不是一个选择。我试过使用SignalR,但显然在这种情况下不起作用,特别是因为我不能使用Javascript。

有没有可能通过调用API的URL来获取实时数据?

一个很好的例子:谷歌地图。通过URL调用Google Maps API的唯一方法是需要一个“静态”地图,该地图显示特定位置的单个图像。没有任何形式的交互。如果你想要一个动态的,“实时”的地图,你需要构建一个web应用程序,并在你的应用程序中使用一个视图页面中的Javascript来使用API资源。没有办法通过URL调用它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-03 11:16:06

您可以将一个老式的ASP.Net IHttpHandler实现组合在一起,而不考虑MVC控制器和路由流水线。http://support.microsoft.com/kb/308001。然后,您将拥有对响应流的完全访问权限,您可以根据自己的需要进行缓冲或不缓冲。但是,您必须考虑是否要将工作线程占用那么长时间,如果您计划或多或少地连续传输,那么您一定要在等待存储库的进一步响应时使用IAsyncHttpHandler。

话虽如此,Web API也支持异步,但它有点复杂。如果您计划按时间发送数据,那么如果您计划最终拥有一些JavaScript客户端,那么我强烈建议您再看看SignalR,它可以完成所有这些开箱即用的操作。这要容易得多。

如果你真的想用Web API编写异步的东西,这里有几个参考资料可能会对你有所帮助;

http://blogs.msdn.com/b/henrikn/archive/2012/02/24/async-actions-in-asp-net-web-api.aspx

这个看起来就是你需要的;http://blogs.msdn.com/b/henrikn/archive/2012/04/23/using-cookies-with-asp-net-web-api.aspx

但是,为了在示例中使用PushStreamContent()类,您在System.Net.Http.dll中找不到它,您需要从http://aspnetwebstack.codeplex.com/SourceControl/list/changesets每晚构建的Web API栈中获取它

祝你好运!

票数 1
EN

Stack Overflow用户

发布于 2012-09-02 22:21:54

我认为您所要求的是一种基于HTTP的流媒体机制。当然,这样做需要发送未知内容长度的响应。

This question处理这种分块传输编码,这可能是解决方案的一部分。由于不知道客户端是什么,我不能说它将如何处理您想要通过的JSON。

问得好。

票数 1
EN

Stack Overflow用户

发布于 2012-09-02 22:22:57

当然,只要您愿意,就可以开始将响应流式传输回浏览器。它通常是有缓冲的,但它不是必须的。我以前就用过这个技巧。事实上,SignalR在一些操作模式中做了一些类似的事情,尽管我应该补充(现在我已经重读了您的问题),尽管HTTP支持这一点,但在Web API控制器中默认情况下不会很明显。我认为你需要在响应处理中降低一点,这样你就可以刷新缓冲区,而不是简单地从你的web方法返回一个POCO,如果你是这个意思的话。

从本质上讲,您需要在收集完每条信息后编写和刷新缓冲区,所以我不认为您能够使用典型的模型这样做。我认为您需要一个自定义消息处理程序http://www.asp.net/web-api/overview/working-with-http/http-message-handlers来获取有效负载才能做到这一点。

我很好奇,你说你想发回JSON,但是你不允许使用JavaScript?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12240053

复制
相关文章
在restful api模式上使用JWT
在header头里面增加Authorization。在服务端验证的时候回通过取得这个值来验证回话的有效。
友儿
2022/09/11
8390
怎样使用React Context API [每日前端夜话0x26]
React Context API 【https://reactjs.org/docs/context.html】现在已经成为一个实验性功能,但是只有在 React 16.3.0 【https://reactjs.org/blog/2018/03/29/react-v-16-3.html】中才能用在生产中。本文将向你展示两个基本的 Web 商店应用程序,一个使用了 Context API 进行构建,另一个则不用。
疯狂的技术宅
2019/03/27
9330
怎样使用React Context API [每日前端夜话0x26]
在ListView上使用自定义的Adapter
需要实现的东西是: 一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:
LeoXu
2018/08/15
9670
使用Termux在Android上运行SSH服务器
借助出色的Termux终端仿真器应用程序,您可以在Android上运行SSH服务器。
用户5005176
2021/08/10
4.6K0
MySql在服务器上使用问题的总结
服务器是Windows Server 2012,我自己安装了一个MySql数据库,然后一个Web程序和客户端程序都想访问数据库,但是遇到一堆问题。主要是我仍然坚持使用.net 2.0,挂接MySql.Data 6.7.4版本。解决后记录一下
用户1075292
2023/05/03
1.1K0
MySql在服务器上使用问题的总结
使用nodejs编写api接口并部署到服务器上
1、安装node环境,没有就去看上一篇文章 2、创建一个node项目, 新建一个目录文件,例node_proxy 3、在新建的node项目执行npm init, 文件会生成一个package.json的文件 目录:
小吕
2022/06/16
8K0
使用nodejs编写api接口并部署到服务器上
Asp.net web api部署在某些服务器上老是404
asp.net web api部署在Windows服务器上后,按照WebAPI定义的路由访问,老是出现404,但定义一个静态文件从站点访问,却又OK。
guokun
2020/09/03
2.2K0
jira-api使用(上)
在jira操作中有些联动需求,例如需要查询一些数据并展示,在自带的筛选器中只能做单项操作,没法将多种查询进行自定义展示。通过API将查询结果进行自定义编排展示。
陈不成i
2021/07/05
9000
生产上还在使用GOLDENGATE HANDLECOLLISIONS
经常有朋友遇到ogg数据不一致或者遇到ogg replicate进程abend,比如1403错误之类,然后排除原因,大部分出现问题都是配置问题(少数情况下是bug),会造成业务统计数据不准或者涉及金额更麻烦(大库就比较麻烦,尤其报表库,主库数据都删除,报表数据不准了,最后pk吧),ogg虽然入门相对简单,使用这些参数之前,一定了解作用以及什么场景下适合使用。另外hanlecollisions与allownoopdates配合使用时候,allownoopdates作用失效.
徐靖
2020/08/05
8420
生产上还在使用GOLDENGATE HANDLECOLLISIONS
分享下 Backbone、Vue、Angular、React 在项目上的使用经验
上周,知乎上有几篇关于 Angular 和 Vue 对比的文章。本来想着的是,这些文章倒是可以指导下新手,作一些技术选型。可遗憾的是,开始的文章失去了一些偏颇,后面的文章则开始了一些攻击性行为。慢慢的,整个知乎上便是充满了一些戾气,开始了无尽的网络暴力。 于是,我想分享一下之前使用这些 MV* 框架的经验。 前端的摩尔时代 同样吧,在上周结束了《Expert Angular》的审校,这是第三本为 Packt 出版社审校的 Angular 的书。然后,先让我来讲个故事:一年前我开始审校的这本书,当时是基于 A
Phodal
2018/01/29
2.2K0
在以太坊上构建 GraphQL API
dapp[5]的数量继续爆炸性增长,对开发人员(使用 Solidity[6]或其他区块链语言的)的需求[7]也越来越大。
Tiny熊
2021/06/10
1.8K0
在以太坊上构建 GraphQL API
如何使用DevStack在Ubuntu服务器上安装OpenStack
OpenStack是专为云计算开发的自由开源平台。通过这个以云为中心的平台,虚拟机和其他资源可以作为基础设施即服务提供给客户。安装OpenStack有许多方法 - 有些方法更具挑战性。
星哥玩云
2022/07/13
1.8K0
如何使用DevStack在Ubuntu服务器上安装OpenStack
使用Flask在服务器实现一个API接口。
主要涉及到Python3、MySQL、Flask、Nginx、uwsgi这几个东西。
小F
2020/10/09
1.9K0
使用Flask在服务器实现一个API接口。
在JBOSS服务器上使用Myfaces的JSF实现
JBOSS AS服务器默认使用的JSF实现是SUN的RI,要把他替换成Myfaces需要:
EltonZheng
2021/01/22
8480
在 React 中使用 Storybook,构建强大的自定义 UI 组件
虽然像React这样的基于组件的UI库简化了web开发,但它们也引入了测试和调试等新的复杂性。
前端修罗场
2022/07/29
9.4K0
在 React 中使用 Storybook,构建强大的自定义 UI 组件
使用Autofac在ASP.NET Web API上实现依赖注入
【原文】 Dependency Injection with ASP.NET Web API and Autofac,以下为摘要: 在ASP.NET Web API里使用Autofac 通过NuGet安装Autofac.WebApi。(Nuget会安装依赖的Autofac.dll)。 PM > Install-Package Autofac.WebApi 引用如下命名空间。 using Autofac; using Autofac.Integration.WebApi; 代码配置Autofac 可参看ht
张善友
2018/01/30
1.5K0
使用 react Context API 的正确姿势
本文介绍一下 React 中常见的 Context API 的使用方式。在使用 Context API 之前,我们还需要知道为啥要使用。❓
JS菌
2019/04/10
1.6K0
使用 react Context API 的正确姿势
logistic回归:从生产到使用【上:使用篇】
logistic回归:从生产到使用【上:使用篇】 前面介绍过几个算法,如KNN、决策树等(在微信公众号“数说工作室”中回复“jrsj”查看,不要引号),都可以用若干个“属性变量”来预测一个“目标变量”
数说君
2018/03/28
1.4K0
logistic回归:从生产到使用【上:使用篇】
在Mac上搭建React Native开发环境
概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境。 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node
xiangzhihong
2018/02/06
1.9K0
在Mac上搭建React Native开发环境
点击加载更多

相似问题

使用JNI从本机方法返回null

36

JNI -本机方法中的致命错误:传递给JNI的错误全局或本地引用。

12

JNI丢失了对本机方法的引用

21

如果没有在本机方法中创建本地引用,何时清除本地引用?

13

JNI本地与全局引用:不是有效的JNI引用

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文