webapi 异步返回
2024-10-14 06:20:33
两年前我遇到一个难题:
https://q.cnblogs.com/q/78177
WebAPI中使用socket如果在server端回复了再返回值?
现在终于做出一种实现了:
[HttpGet]
public ApiActionResult OnceBackDemo()
{
var result = new ApiActionResult()
{
Success = false,
Result = null,
Message = "操作失败。"
};
System.Threading.ManualResetEvent mre = new System.Threading.ManualResetEvent(false);
mre.Reset();
Random rm = new Random();
Action<Stopwatch> task = (sw) =>
{
sw.Start();
int rm_val = rm.Next(1000);
System.Threading.Thread.Sleep(rm_val);
};
var sw_out = new Stopwatch();
task.BeginInvoke(sw_out, (ar) =>
{
task.EndInvoke(ar);
mre.Set();
sw_out.Stop();
result.Success = true;
result.Message = DateTime.Now + "->操作成功,耗时:" + sw_out.ElapsedMilliseconds.ToString()+"毫秒。";
}, null);
if (!mre.WaitOne(1500))
{
return result;
}
return result;
}
最新文章
- 组件嵌套+Mixin函数demo
- 解决问题:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- Android 命名规范 (提高代码可以读性) 转
- Java 创建xml文件和操作xml数据
- MySql 存储过程实例(附完整注释)
- (3)初次接触off
- [转载] ubuntu下定制Vim/Gvim及使用技巧
- Python源码剖析
- python与数值计算环境搭建
- [转]Disabling ASLR on individual iOS applications when using iOS 6.0.1
- CentOS编译安装LNMP环境
- 【Alpha】第七次Daily Scrum Meeting
- JAVA面向对象-----接口的概述
- 从0开始的Python学习015输入与输出
- python数据结构(二)------元组
- Qt样式表的使用
- (转)Tomcat(java运行环境)安装及配置教程
- eclipse运行tomcat中发生异常重启后tomcat端口被占用
- 我的sublime 插件配置
- HashMap的put方法返回值问题
热门文章
- 解决failed to push some refs to git
- webpack踩坑之旅
- 让你变懒的 Android Studio Live Templates
- 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
- pku 2488 A Knight&;#39;s Journey (搜索 DFS)
- hdu2993之斜率dp+二分查找
- 增加tomcat的缓存
- org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
- Chef 自动化运维:初探 cookbook
- C#程序打包安装部署