Пишу сервис и попутно разбираюсь с библиотекой Stock#. Подскажите, не проходит соединение с терминалом и торговой системой:
Код
var qport = Convert.ToInt32(ConfigurationManager.AppSettings["qport"]);
var qip = IPAddress.Parse(ConfigurationManager.AppSettings["qip"]);
if (!_terminal.IsLaunched) // запускаем терминал
{
_terminal.Launch();
_log.Info("Quik termimal started");
}
if (!_terminal.IsConnected) // Подключить Quik к серверу торгов
{
_terminal.Login(qlogin, qpas, new IPEndPoint(qip, qport));
_log.Info("Quik terminal connected");
}
запускает info.exe и выдает ошибку в лог:
Код
2011-11-22 17:03:48,357 [6] - Quik termimal started
2011-11-22 17:03:48,560 [6] - Ecng.Reflection
2011-11-22 17:03:48,560 [6] - Инициализатор типа "Ecng.Reflection.Emit.AssemblyHolder" выдал исключение.
2011-11-22 17:03:48,560 [6] - Инициализатор типа "Ecng.Configuration.ConfigManager" выдал исключение.
2011-11-22 17:03:48,560 [6] - в Ecng.Reflection.Emit.AssemblyHolder.get_NeedCache()
в Ecng.Reflection.FastInvoker.CreateDelegate(Type delegType, Type instanceType, Type argType, ConstructorInfo ctor, MethodInfo method, MemberInfo member, Nullable`1 isGetter)
в Ecng.Reflection.FastInvoker.<>c__DisplayClass1.<CreateCore>b__0(MemberInfo )
в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 handler)
в Ecng.Reflection.FastInvoker.CreateCore(MemberInfo member, Nullable`1 isGetter)
в Ecng.Reflection.FastInvoker`3.Create(ConstructorInfo ctor)
в Ecng.Reflection.ReflectionHelper.CreateInstance[A,R](ConstructorInfo ctor, A arg)
в Ecng.Reflection.ReflectionHelper.CreateInstance[A,R](A arg)
в Ecng.Interop.ManagedWinApiHelper.Cast[T](SystemWindow window, String[] classNames)
в Ecng.Interop.ManagedWinApiHelper.ToComboBox(SystemWindow window)
в StockSharp.Quik.QuikTerminal.#=qOTCwAYB2ylRinV$zq1Dus0yOewCdpGNtb8MX4Utrhrw=(SystemWindow #=qJpvAWT5SuybNuKauQKz5pA==)
в StockSharp.Quik.QuikTerminal.Login(String login, String password, IPEndPoint address)
в StockExportService.StockAnalyticService.OnStart(String[] args)
также не могу получить список всех адресов Quilk через _terminal.Addresses c той же ошибкой.
Если секцию с сервером в логине пропустить ... то дальнейшая инициализация проходит, однако при _trader.Connect() в событии _trader.ConnectionError += error => {} вываливается ошибка:
Код
Connection failed Код ошибки DllConnected Сообщение Терминал не подключен к серверу.
Если запускать Quik не программно, все ок. В чем может быть трабл?!