可能重复:
Single-threaded apartment - cannot instantiate ActiveX control
我正在Asp.net
开发基于Visual Studio 2010
模板网络的应用程序。该应用程序的目标是从ID Tech card swipper
读取数据。
#Default.aspx:
# It contain a Button
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</h2> </asp:Content>
以下是.cs
文件:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using AxOposMSR_CCO;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
AxOPOSMSR axOPOSMSR = new AxOPOSMSR();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (axOPOSMSR.Open("IDTECH_SECUREMAG_USBKB") == 0)
{
axOPOSMSR.ClaimDevice(100);
axOPOSMSR.DeviceEnabled = true;
axOPOSMSR.DataEventEnabled = true;
Console.WriteLine("cons called");
}
}
}
}
当我试图运行这个项目时,它会显示:
ActiveX control 'ccb90122-b81e-11d2-ab74-0040054c3719' cannot be
instantiated because the current thread is not in a single-threaded apartment.
我用谷歌搜索它,它表明我必须创建一个Active X
控件的对象,并在我的Web应用程序中使用该对象。我也关注了一些博客和教程,但没有得到更好的解释。
我是C#
的新手。我该怎么做才能解决这个问题?
请在上述申请中解释我。