如何在服务器端 ASP.NET 中使用剪贴板

How to work with Clipboard in ASP.NET, Server side

有什么方法可以在 ASP.NETServer-side 中使用 Clipboard 吗? 我想在 Clipboard 中推送一些东西并获取它。

额外信息: 我进行了一些搜索,发现该解决方案适用于 Thread。但我正在寻找另一种方式,如果有另一种方式

更新: 请回答以下问题:

  1. 我在使用剪贴板时可以使用线程吗?
  2. 如果是这样,当我使用单个进程多次使用剪贴板时,我可以 运行 新线程吗(成像用户单击了一个按钮,我必须使用 for 在剪贴板中推送 100 个数据(循环))

例如:

选项 1:

void myMethod(object i){        
    // put something on clipboard and get that        
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
    for(int i=0; i<100; i++){
         Thread t = new Thread(myMethod);
         t.Start(i);
    }
}

选项 2:

void myMethod(){        
    for(int i=0; i<100; i++){
        // put something on clipboard and get that        
    }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
     Thread t = new Thread(myMethod);
     t.Start();        
}

哪个是正确的?

这就是你的做法:

    public static void PdfToJpg()
    {
        var Thread = new Thread(PdfToJpgThread);
        Thread.SetApartmentState(ApartmentState.STA);
        Thread.Start(); // You can pass your custom data through Start if you need
    }
    private static readonly object PdfToJpgLock = new object();
    private static void PdfToJpgThread(object Data)
    {
        lock (PdfToJpgLock)
        {
            for (int i = 0; i < count; i++)
            {

                // Call to Acrobat CopyToClipboard
                // ...

                Clipboard.GetImage().Save(outputPath, ImageFormat.Jpeg);
                Clipboard.Clear();

                // ...
            }
        }
    }

每次点击按钮,只需调用 PdfToJpg() 即可。