1

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

4

1 に答える 1

1

これは QuickFix.Netの既知の問題であり、インプロセスでのみ機能します。したがって、基本的には FIX プラグインを変更する以外に多くのオプションはありません。

于 2011-02-15T17:10:41.550 に答える