如何在C#中为基于Web的应用程序编写Active X控件?

时间:2012-12-03 10:57:54

标签: c# asp.net visual-studio-2010 activex

  

可能重复:
  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#的新手。我该怎么做才能解决这个问题?

请在上述申请中解释我。

0 个答案:

没有答案