读书人

ASP.NET 异步事件解决方案

发布时间: 2013-07-20 11:07:48 作者: rapoo

ASP.NET 异步事件
hi,dear,向大家问一个问题:
一个页面Home.aspx已经加载到客户端一段时间,这时Home.aspx.cs里一个异步事件完成,怎么将该事件通知到客户端呢(比如调用一个客户端的函数)? ASP.NET asynchronous 事件?后台与前台交互
[解决办法]

引用:
hi,dear,向大家问一个问题:
一个页面Home.aspx已经加载到客户端一段时间,这时Home.aspx.cs里一个异步事件完成,怎么将该事件通知到客户端呢(比如调用一个客户端的函数)?

用ajax异步传输数据 加载完后 返回特殊的值
[解决办法]
引用:
hi,dear,向大家问一个问题:
一个页面Home.aspx已经加载到客户端一段时间,这时Home.aspx.cs里一个异步事件完成,怎么将该事件通知到客户端呢(比如调用一个客户端的函数)?


你这样是很难实现的
异步事件通过 ajax 来实现,用ajax异步方式去调用你需要异步的方法

[解决办法]
引用:
hi,u011096386
之前看到一个方法,可注册异步回调,类似:
cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "MyFunctionCallback", "context");
callbackScript = "function MyFunction(arg, context)" + "{ " + cbReference + ";}";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyFunction", callbackScript, true);

但促发事件MyFunction的是客户端,有没有一种方法实现在服务器端促发事件呢?


服务器向客户端发消息,可http是无状态的,只能是 通过客户端向服务发请求
如果非要向客户端发消息,可能就得通过activex或flash的插件了
[解决办法]
服务端的异步结束把数据写到数据库.
客户端使用Timer通过AJAX定时轮询服务端.
轮询时上传参数参与比较检查异步是否结束.如果未结束,继续轮询,如果结束,停止轮询并做你想做的.
[解决办法]
直接ajax调用那个函数

读书人网 >asp.net

热点推荐