1

重複の可能性:
シングルスレッド アパートメント - ActiveX コントロールをインスタンス化できません

Asp.netでテンプレート Web ベース アプリケーションを開発しています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#。この問題を解決するにはどうすればよいですか?

上記のアプリケーションのコンテキストで説明してください。

4

0 に答える 0