我有一个托管组件的 .NET 4.0 Windows 服务。我们的项目负责人说,在某些组件上调用方法时,性能很慢。他怀疑可能是 STA 组件导致了这种性能损失。
为了测试这个理论,我被要求创建一个 STA 组件,其中一个方法接受一个整数并返回乘以 2 的整数。该组件将托管在服务中并运行测试。
可以在 C# 中创建这样的东西还是有必要在 C++ 中创建它?
如果可能的话,你能包括一些代码吗?
编辑:(代码基于韩的建议)
using System.Runtime.InteropServices;
namespace STADemo
{
[ComVisible(true)]
public class STAClass
{
public int Calculate(int value)
{
return 2*value;
}
}
}