воскресенье, 17 августа 2014 г.
WebEventLog Settings
<WebEventLog enabled = "false">
<Name>Web EventLog</Name>
<EventLogKey>GS.Trade.EventLog</EventLogKey>
<BaseAddress>http://192.168.1.1/ApiEventLog/</BaseAddress>
<RequestHeader>application/xml</RequestHeader>
<ApiEventLogs>api/eventlogs/</ApiEventLogs>
<ApiEventLogItems>api/eventlogitems/</ApiEventLogItems>
<IsEnabled>false</IsEnabled>
<IsAsync>true</IsAsync>
<IsPrimary>false</IsPrimary>
<IsSaveEnabled>true</IsSaveEnabled>
<IsUIEnabled>false</IsUIEnabled>
</WebEventLog>
<Name>Web EventLog</Name>
<EventLogKey>GS.Trade.EventLog</EventLogKey>
<BaseAddress>http://192.168.1.1/ApiEventLog/</BaseAddress>
<RequestHeader>application/xml</RequestHeader>
<ApiEventLogs>api/eventlogs/</ApiEventLogs>
<ApiEventLogItems>api/eventlogitems/</ApiEventLogItems>
<IsEnabled>false</IsEnabled>
<IsAsync>true</IsAsync>
<IsPrimary>false</IsPrimary>
<IsSaveEnabled>true</IsSaveEnabled>
<IsUIEnabled>false</IsUIEnabled>
</WebEventLog>
воскресенье, 18 мая 2014 г.
Init
Установить:
1. SpsInit.xml - файл со стратегиями
2. EventLog.xml имя БД для EventLog
3. Init\Dde.xml имя для DdeServer
1. SpsInit.xml - файл со стратегиями
2. EventLog.xml имя БД для EventLog
3. Init\Dde.xml имя для DdeServer
воскресенье, 11 мая 2014 г.
Update 140511_002
1. Замена Repostotory32 на Repostotory33
Ввел такую конструкцию для защиты от ошибок EntityFramework
catch (System.ComponentModel.Win32Exception e)
{
SendException(ve, method, e);
return false;
}
catch (System.Data.SqlClient.SqlException e)
{
SendException(ve, method, e);
return false;
}
catch (System.Data.EntityException e)
{
SendException(ve, method, e);
return false;
}
catch (Exception e)
{
SendException(ve, method, e);
throw;
}
2. В EventHub2 ввел возможность передать срочное сообщение IsHighPriority,
даже когда EventHub работает в режиме IsQueueEnabled
В Events.EventArgs ввел bool IsHighPriority.
3. Все Exceptions летят с IsHighPriority = true, то есть без очереди.
4. Убрал (Пока) регистрацию Exceptions в БД.
TradeStorage.Add():
5. Добавил регистрацию Exceptions в файлы.
GSException.SaveInFile(string dir, Eargs ea);
6. Element1 - умеет вынимать из Exception InnerException и регистрировать их в IEnumerable<Eargs>. Этот массив Exception затем регистрируется в отдельный файл GSException.SaveInFile(string dir, Eargs ea);
Ввел такую конструкцию для защиты от ошибок EntityFramework
catch (System.ComponentModel.Win32Exception e)
{
SendException(ve, method, e);
return false;
}
catch (System.Data.SqlClient.SqlException e)
{
SendException(ve, method, e);
return false;
}
catch (System.Data.EntityException e)
{
SendException(ve, method, e);
return false;
}
catch (Exception e)
{
SendException(ve, method, e);
throw;
}
2. В EventHub2 ввел возможность передать срочное сообщение IsHighPriority,
даже когда EventHub работает в режиме IsQueueEnabled
В Events.EventArgs ввел bool IsHighPriority.
3. Все Exceptions летят с IsHighPriority = true, то есть без очереди.
4. Убрал (Пока) регистрацию Exceptions в БД.
TradeStorage.Add():
5. Добавил регистрацию Exceptions в файлы.
GSException.SaveInFile(string dir, Eargs ea);
6. Element1 - умеет вынимать из Exception InnerException и регистрировать их в IEnumerable<Eargs>. Этот массив Exception затем регистрируется в отдельный файл GSException.SaveInFile(string dir, Eargs ea);
воскресенье, 27 апреля 2014 г.
Update 140427
1. Нагрузил Приложение большим кол-вом систем.
При этом происходит длительная регистрация систем в БазеДанных в TradeContext.TradeStorage.Register(Strategy).
Появляется Окно MDA debug helper.
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=RU-RU&k=k(EHMDA);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)&rd=true
Лечится очисткой флага "ContextSwithDeadLock"
В 140427_001 - этого не происходило
Последний Релиз 140427_002.
Сделал Копии vspr12_140427 и vspr13_140427 на Новый DVD
При этом происходит длительная регистрация систем в БазеДанных в TradeContext.TradeStorage.Register(Strategy).
Появляется Окно MDA debug helper.
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=RU-RU&k=k(EHMDA);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5)&rd=true
Лечится очисткой флага "ContextSwithDeadLock"
В 140427_001 - этого не происходило
Последний Релиз 140427_002.
Сделал Копии vspr12_140427 и vspr13_140427 на Новый DVD
пятница, 25 апреля 2014 г.
Update 140425. Dde OnPocked.
Dde2 имеет выбор Mode.
Задается в xml
<?xml version="1.0" encoding="utf-8" ?>
<DdeServer>
<Dde2 enabled="true" ns="GS.Trade.Dde" as="GS.Trade.Dde">
<Mode>1</Mode>
<IsEnabled>true</IsEnabled>
<Name>Dde Server</Name>
<Code>QUIKInfoF</Code>
<XPath>DdeTopicList</XPath>
</Dde2>
<DdeTopicList>
<TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
<TopicItemKey>[Forts]1</TopicItemKey>
</TopicItem>
<TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
<TopicItemKey>[Micex]1</TopicItemKey>
</TopicItem>
</DdeTopicList>
</DdeServer>
if Mode == 1 - обработку строк осуществляет OnPocked1()
if Mode == 2 - обработку строк осуществляет OnPocked2()
OnPocked1:
Выгребает одну строкy и отправляет Подписчикам string.
То есть выборка и отправка построчно в цикле.
Подписчики обрабатывают строки в DdeProcess1()
OnPocked2:
Выгребает все строки и
собирает их в StringBuilder.Appendline()
Отправляет Подписчикам StringBuilder.ToString - strings разделенные \r\n
Подписчики обрабатывает входную строку в DdeProcess2()
string sr = new StringReader(strList);
while( sr.ReadLine() != null)
{...}
Задается в xml
<?xml version="1.0" encoding="utf-8" ?>
<DdeServer>
<Dde2 enabled="true" ns="GS.Trade.Dde" as="GS.Trade.Dde">
<Mode>1</Mode>
<IsEnabled>true</IsEnabled>
<Name>Dde Server</Name>
<Code>QUIKInfoF</Code>
<XPath>DdeTopicList</XPath>
</Dde2>
<DdeTopicList>
<TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
<TopicItemKey>[Forts]1</TopicItemKey>
</TopicItem>
<TopicItem ns="GS.Trade.Dde" as="GS.Trade.Dde">
<TopicItemKey>[Micex]1</TopicItemKey>
</TopicItem>
</DdeTopicList>
</DdeServer>
if Mode == 1 - обработку строк осуществляет OnPocked1()
if Mode == 2 - обработку строк осуществляет OnPocked2()
OnPocked1:
Выгребает одну строкy и отправляет Подписчикам string.
То есть выборка и отправка построчно в цикле.
Подписчики обрабатывают строки в DdeProcess1()
OnPocked2:
Выгребает все строки и
собирает их в StringBuilder.Appendline()
Отправляет Подписчикам StringBuilder.ToString - strings разделенные \r\n
Подписчики обрабатывает входную строку в DdeProcess2()
string sr = new StringReader(strList);
while( sr.ReadLine() != null)
{...}
Подписаться на:
Сообщения (Atom)

