日期:2014-05-17  浏览次数:20465 次

ASP.net中多线程调用带有多个参数的方法
如题目,

一个带参数的方法: (会生成一个PDF的文件,生成的很慢,就把页面卡住了)
 private void fssong(string id, string name, string po_bu, int next_nun)
 {
 ........
 }
在一个按钮事件中要执行上面的方法,因为不需要浏览生成的这个PDF所以可以交给后台处理,所以想到用多线程来弄,页面可以继续操作别的,但是多线程序不让用有参数的方法,怎么办怎么办大哥大姐们帮帮忙吧,小弟在公司加班到现在快10点了....头昏眼花的哎...

------解决方案--------------------
你需要有一个专门的后台线程处理生成PDF的请求。

当用户点击这个按扭之后,启动这个线程 ,并且当前的线程返回。

但你还得在这个后台线程完毕之后,通知用户PDF生成了。
------解决方案--------------------
我觉得你应该修改程序结构,让一个新的页面去调用pdf生成程序,而不应该考虑用多线程操作.
------解决方案--------------------
参数的值在按钮事件那里取得的吧,开线程的话调用的方法
fssong(id, name, po_bu, next_nun);
改成这样就行
C# code

            System.Threading.Thread t = new System.Threading.Thread(() =>
            {
                fssong(id, name, po_bu, next_nun);
            });
            t.IsBackground = true;
            t.Start();