asp.net と C# を使用してクイックフィックス エンジンを実装しました。アンマネージ C++ で記述された quickfix_net.dll を呼び出しています。しかし、quickfix_net.dll を呼び出すと、「AppDomains 間で GCHandle を渡すことができません」のようなエラーが発生します。
しかし、同じことがコンソールアプリケーションで実行されていますが、IIS ie asp.netでは実行されていません
誰か調べてください。前もって感謝します
以下は私のコードです:
SessionSettings settings = new SessionSettings(tradeClientPath);
ApplicationMessage application = new ApplicationMessage();
FileStoreFactory storeFactory = new FileStoreFactory(settings);
FileLogFactory logFactory = new FileLogFactory(settings);
MessageFactory messageFactory = new DefaultMessageFactory();
SocketInitiator initiator = new SocketInitiator
(application, storeFactory, settings, logFactory, messageFactory);
initiator.start();
Message message = new Message();
OrdType ordType = new OrdType(OrdType.MARKET);
QuickFix42.NewOrderSingle newOrderSingle = new QuickFix42.NewOrderSingle(new ClOrdID("1"), new HandlInst('1'), new Symbol("WAKEN\00110048=2")
, new Side(Side.BUY), new TransactTime(), new OrdType(OrdType.MARKET));
newOrderSingle.set(new OrderQty(10));
newOrderSingle.set(new TimeInForce(TimeInForce.DAY));
Message.Header header = newOrderSingle.getHeader();
header.setField(new SenderCompID("CLIENT1"));
header.setField(new TargetCompID("EXECUTOR"));
message = newOrderSingle;
**QuickFix.Session.sendToTarget(message);** // here i am getting exception
initiator.stop();
Web サイト参照: http://www.quickfixengine.org/quickfix/doc/html/index.html