- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 ASP.NET 应用程序中需要多个 STA
线程来使用一些 COM
组件。
我在每个进程中的某个地方读到,只能存在一个 STA
线程。我编写了一个示例项目并制作了许多线程并将它们的单元状态设置为 STA
并且它们毫无异常(exception)地使用 COM
对象。
是否可以在一个进程中有多个 STA
线程?
最佳答案
您可以拥有的 STA 线程数没有固有的限制,但是您可能希望自己施加这样的限制。
如果您允许您的 ASP.NET 应用程序在新用户请求到达时创建额外的 STA 线程,而不限制它,最终线程数将导致您的应用程序性能下降,因为 CPU 花费在上下文切换上的时间量变得过高。这也会使您的应用程序更容易受到拒绝服务攻击。
您可以考虑这样一种设计,即根据您的硬件或用户配置文件设置 STA 线程的数量限制,一旦达到限制,就实现一些池化以重新使用现有 STA 线程来为新请求提供服务。
关于c# - 一个进程内可以共存多少个 'STA'线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527755/
我必须将.NET应用程序作为插件包含到另一个.NET应用程序中。插件界面要求我从模板表单继承。然后,在加载插件时,将表单附加到MDI中。 到目前为止,一切正常,但是每当我注册拖放事件时,都为组合框设置
我有一个必须作为 STA 运行的函数,我想将它的异常传播到调用线程。在这里: public void ExceptionBePropagatedThroughHere() { Thread thr
我正在将一个线程初始化为静态线程,如下所示 Thread GenerateKeywords; private void btnStart_Click(object sender, EventArgs
我们正在 AZURE 上开发“ Multi-Tenancy 应用程序” (MTA)。此外,我们为通过 REST API 端点利用 MTA 数据的客户开发“单租户应用程序”(STA),即可以在任何地方托
我从 GUI 线程调用这个函数: let updateImageLoop (pprocess : PlotProcess) (target : IUpdatableImageView) = a
我有一个类,当某些操作的状态发生变化时,它应该向用户显示一些消息,如下所示: public static class AutoUpdater { public static a
我有一个 BackgroundWorker 调用函数在 BackgroundWorker _DoWork 做一个长进程,当函数发生错误时我会提示一个自定义的消息框: WPFMessageBoxRes
我一直在尝试一些最终可能变成不可能的事情。自从我进入 COM 领域以来已经有很长一段时间了。 考虑两个应用程序和一个 COM STA DLL。第一个应用程序将 COM STA DLL 作为插件加载,此
这个问题在这里已经有了答案: How to create a task (TPL) running a STA thread? (2 个答案) 关闭 8 年前。 我正在 VS2010 中开发 VST
我正在尝试创建 COM 组件,它会经常被 excel 应用程序调用(excel 将在其初始化时加载 COM)并且另一个进程(比如 procA)也会(以高频率)发送 windows 消息到这个组件。目前
所以,关注 this ,我决定在专用 STA 线程上显式实例化一个 COM 对象。实验表明 COM 对象需要一个消息泵,这是我通过调用 Application.Run() 创建的: private M
我有这个遗留的第三方 COM DLL。我将其注册到注册表并将 RCW 添加到我的 .NET/C# 控制台应用程序。注册表将 COM 的线程模型 显示为单元。我的应用程序的全部目的是使用多线程并发提交多
我有一个小的 c# 类需要公开为 COM。将使用 COM 对象的工具要求我支持 STA。我需要对 COM 对象做些什么特别的事情吗? (我知道 STAThread 属性,但是(除非我错了)它用于指示
在我的 WPF 应用程序中,我进行了一些异步通信(与服务器)。在回调函数中,我最终根据服务器的结果创建了 InkPresenter 对象。这要求正在运行的线程是 STA,而目前显然不是。因此我得到以下
如果我在 .NET 中有一个 STA 线程,并且我在该线程中创建了一个 STA COM 对象,然后该线程结束——这是否会杀死该对象的实例? 我的理解是否正确,STA COM 对象可以被多个线程访问并且
我正在 PowerShell 中处理 GUI,当单击某些组合框时我会抛出错误。 抛出错误后,我可以放下组合框列表并查看其内容,但是如果我切换到同一个 datagridview 上的另一个组合框,我会在
在过去的几个月中,我一直在尝试使用Powershell(2.0),并且很乐意使用它来对一些正在使用的进程进行现代化和标准化-大多是基于DOS的进程。由于工作的性质,一次执行大约100次相同脚本的执行。
谁能解释一下 LDA、ROL、STA 给出的每条指令的确切结果是什么? C=1 (carry flag is 1) LDA A #$08 0008 | 01 ROL A 0009 | 02
我是一名硕士生,我正在通过 STATISTICA 程序学习统计学类(class)。我对 R 比较熟悉,并想坚持下去。所以我打算在 R 中做提供的练习。但是要使用的数据格式为 *.sta... 有没有办
我试图让 Watin 在我的 SSIS 脚本任务中工作,通过在新线程中打开 IE 来执行一些自动化操作,做一些事情,找到最终值并基本上在父线程中返回/设置该值。 所以我现在有这个: public pa
我是一名优秀的程序员,十分优秀!