首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Websync 4.0 - Publisher异步

Websync 4.0 - Publisher异步
EN

Stack Overflow用户
提问于 2013-07-08 09:50:01
回答 1查看 154关注 0票数 1

有没有一种异步使用Websync发布服务器的方法?目前我正在做这个

代码语言:javascript
运行
复制
var publisher = new Publisher(url);
var result = publisher.Publish(publication);
if (!result.Successful)
    //Log exception

这个版本的问题是,当第一个发布时,它需要大约2秒的时间。我在一些论坛上看到,在早期版本的Websync中,他们提供了异步使用Publisher 的可能性,但由于某些原因,在WebSync4.0中是不可用的

我尝试过像这样异步发布

代码语言:javascript
运行
复制
var publisher = new Publisher(url);
Func<Publication> a = () => Publisher.Publish(publication);
a.BeginInvoke(result =>
{
    var m = result.AsyncState as Func<Publication>;
    if (m != null)
    {
        var asyncResult = m.EndInvoke(result);
        if (!asyncResult.Successful)
            // Log exception
    }
 }, a);

但是,这导致了“空引用”异常

代码语言:javascript
运行
复制
var asyncResult = m.EndInvoke(result);

但在发育过程中我真的无法复制。

关于如何更好地处理这个问题,有什么想法吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-10-10 15:59:25

尝试在线程池线程上运行代码:

代码语言:javascript
运行
复制
ThreadPool.QueueUserWorkItem((state) =>
{
    var publisher = new Publisher(url);
    var result = publisher.Publish(publication);
    if (!result.Successful)
        //Log exception
}, null);

它是短暂的,所以您可以使用来自CLR线程池的线程。

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

https://stackoverflow.com/questions/17523645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档