我为SharePoint 2007编写了一个自定义Web部件,用于加载现有的用户控件。用户控制的一件事是通过FTP异步上传文件。我正在使用具有BeginUpload / EndUpload方法的第三方FTP库进行异步文件传输。我还在用户控件中有一个更新面板,用于根据FTP库引发的事件显示已传输的字节数的运行总计。我已经将所有必要的AJAX设置添加到web.config。
如果我从一个单独的项目中单独运行用户控件,那么一切都很有效。但是当我访问托管控件并尝试上载的Web部件时,FTP库传输大约64 KB,然后它运行的线程就会死掉。我在VS输出窗口中收到的消息是:
线程'Win32 Thread'(0xf34)已退出,代码为0(0x0)。
我得到了其中几个,然后FTP库抛出一个异常(基本上超时),IIS工作进程爆炸,整个事情就停止了。我需要在SharePoint配置或Web部件中执行哪些特殊操作才能使其工作?它似乎与SharePoint有关,因为如果SP不在图片中,相同的代码可以正常工作。
答案 0 :(得分:0)
我将此问题提交给Microsoft SharePoint开发人员支持,他们能够使用我正在使用的FTP库重现错误,该库来自ComponentSpace。通常我想做的事情是可能的,但出于某种原因它只是不想工作。
他们的解决方案是通过执行Request.Files(0).SaveAs然后执行FTP上传来将文件保存在Web服务器上。不理想,但它给了我想要的进度指标。
答案 1 :(得分:0)
Chris Tybur,我尝试过他们的FTP组件并发现了许多错误。我不推荐使用ComponentSpace的FTP