2010-07-03 24 views
1

我已經使用asp.net和C#實現了quickfix引擎。 ,我打電話到非託管C++編寫的quickfix_net.dll。 但我在調用quickfix_net.dll時出現錯誤,如「無法跨AppDomains傳遞GCHandle」。無法跨應用程序域傳遞GCHandle

,但同樣的事情在控制檯應用程序,但不是在IIS即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(); 

網站引用是:http://www.quickfixengine.org/quickfix/doc/html/index.html

+0

您需要提供更多信息。你在打什麼功能?你可以發佈代碼嗎? – 2010-07-03 07:10:48

+0

嗨Assaf,我已編輯我的帖子和代碼已添加..請看看事情 – user382558 2010-07-03 08:50:08

回答

1

這是一個與QuickFix.Net一個known issue,它只能在進程內。所以基本上沒有太多的選擇,缺少更改FIX插件。