【问题标题】:Share point web part, asynchronous processing on the serverSharepoint Web 部件,服务器上的异步处理
【发布时间】:2016-08-04 15:34:29
【问题描述】:

我正在开发一个 Web 部件,它必须在服务器端解析文件列表并输出报告。问题是这种操作可能会持续很长时间。

我决定在一个单独的线程中处理文件,并在解析结果时立即加载 Web 部件内容,并显示“正在加载...”之类的消息,一个事件将被触发并且内容Web 部件的 pe 将被更新。

我发现很多帖子都有以下解决方案

问题是我的解决方案中没有 .aspx 文件,我可以在其中调整 @Page 指令中的 Async="true" 参数。

有谁知道这个文件在哪里或如何添加它以供 Web 部件正确处理。

附:我尝试使用BackgroundWorker 执行该任务,但它会出现与Page.RegisterAsyncTask 相同的错误。错误是:“在此上下文中不允许异步操作。启动异步操作的页面必须将 Async 属性设置为 true,并且只能在 PreRenderComplete 事件之前的页面上启动异步操作。” em>

【问题讨论】:

    标签: sharepoint asynchronous web-parts


    【解决方案1】:

    WebParts 可以异步/多线程运行。通过 Page.RegisterAsyncTask 注册适当的事件处理程序。您将指定应异步调用的方法,以及处理完成后控件将返回的回调方法。

    http://daniellarson.wordpress.com/2006/06/26/asynchronous-webparts-in-asp-net-2-0/

    http://daniellarson.wordpress.com/2006/07/16/asynchrounous-asp-net-webparts-for-sharepointmoss/

    【讨论】:

    • 我已经阅读了这篇文章,但问题仍然存在。阅读我的问题中关于出现的错误的部分。该页面告诉我异步模式不正确。此外,“SharePoint 2007 未启用异步页面,这是您需要在 SiteTemplates aspx 页面中编辑或在 web.config 中全局更改的设置。” SiteTemplates 位于哪里?我的解决方案不包含 web.config。在帖子中您可以看到“代码也将同步或异步执行,具体取决于页面的异步值”我 **无法实现此目标(设置页面的异步值)...
    • 请注意:异步并不总是意味着多线程
    • 皮埃尔滕:我同意你的看法。多线程是完美的,但如果不可能,异步就足够了。任何解决方案?????????
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多