我正在开发一个Web部件,它必须解析服务器端的文件列表并输出报告。问题在于这种操作可能会持续很长时间。分享点web部分,服务器上的异步处理
我决定在单独的线程中处理文件,并在解析结果时立即加载Web部件内容,例如“Loading ....” Web部件的内容将被更新。
我发现很多帖子用以下解决方案
- http://msdn.microsoft.com/en-us/magazine/cc163587.aspx
- http://markitup.com/Posts/Post.aspx?postId=1fded0e9-e871-4e4a-a419-c1a770174cf1 (的想法是一样的)
问题是,我不有我解决.aspx文件,我可以在其中调整@Page
指令中的Async="true"
参数。
有没有人知道这个文件在哪里,或者它如何被添加到Web部件正确处理的位置。
P.S.我试图用BackgroundWorker
执行该任务,但它与Page.RegisterAsyncTask
上升的错误相同。错误是:“在此上下文中不允许异步操作,启动异步操作的页面必须将Async属性设置为true,并且只能在PreRenderComplete事件之前的页面上启动异步操作。”
我看了这个帖子,但问题仍然。阅读我的问题中有关出现错误的部分。该页面告诉我,异步模式不正确。 此外,“异步页面未启用SharePoint 2007,这是您需要在SiteTemplates aspx页面中编辑或在web.config中全局更改的设置。” SiteTemplates位于何处?我的解决方案不包含web.config。 在帖子中,您可以看到“代码也会同步或异步执行,具体取决于页面的异步值”我***无法实现此目标*(设置页面的异步值)... – Demoony
只是说明:异步并不总是意味着多线程 – Pierreten
Pierreten:我同意你的看法。多线程是完美的,但如果不可能,只是异步就足够了。 任何解决方案????????? – Demoony