SoapExtension

Clarion.NET & .NET технологии

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

SoapExtension

Сообщение BOB »

Нужно сделать расширение для веб сервиса SoapExtension .

Ну типа копи я делать умею , но исходники в С# , как перевести на кларион ?
public class TraceExtension : SoapExtension
{
Stream oldStream;
Stream newStream;
string filename;

// Save the Stream representing the SOAP request or SOAP response into
// a local memory buffer.
public override Stream ChainStream(Stream stream)
{
oldStream = stream;
newStream = new MemoryStream();
return newStream;
}

// When the SOAP extension is accessed for the first time, the XML Web
// service method it is applied to is accessed to store the file
// name passed in, using the corresponding SoapExtensionAttribute.
public override object GetInitializer(LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute)
{
return ((TraceExtensionAttribute)attribute).Filename;
}

// The SOAP extension was configured to run using a configuration file
// instead of an attribute applied to a specific Web service
// method.
public override object GetInitializer(Type WebServiceType)
{
// Return a file name to log the trace information to, based on the
// type.
return "e:\\" + WebServiceType.FullName + ".log";
}

// Receive the file name stored by GetInitializer and store it in a
// member variable for this specific instance.
public override void Initialize(object initializer)
{
filename = (string)initializer;
}
.....................
Может Дед подскажет ?
PavelNK
Старожил
Сообщения: 262
Зарегистрирован: 15 Март 2011, 8:02

SoapExtension

Сообщение PavelNK »

Напрямую никак! Дело в том, что в С# есть куча разных библиотек, в т.ч. DotNet. За несколькими строчками кода приведенного здесь стоят десятки-сотни метров кода библиотек. В Кларионе ничего подобного нет, т.к. писатели Клариона считают, что все то, чего нет в нем можно написать используя WinAPI. Поэтому, то что программисты на других языках делают за час мы делаем неделями, самостоятельно изобретая эти самые библиотеки. Можно взять исходники используемой библиотеки, если есть, раскрутить и все переписать на Клашу.
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

SoapExtension

Сообщение BOB »

Я же о нете и пишу , пока не сталкивался с тем что кларион.нет не может , сталкивался с тем что синтаксиса не знаю . Кстати веб сервис кларион пишет на ура и даже вин формы подключает , а в c# в вебсервисе я даже не могу написать messagebox.show() .
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

SoapExtension

Сообщение Admin »

PavelNK писал(а):то что программисты на других языках делают за час мы делаем неделями
Для того что бы программисты на "других языках" делали что то за час - в Microsoft сидят сотни программистов.
А может и больше чем сотни.
Годами сидят и пишут. И деньги получают не с продаж C#
Ну а дальше думаю все понятно...

P.S. Сорри за оффтопик.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

SoapExtension

Сообщение BOB »

Первая часть вроде поддается , а вот класс атрибут ни как .
[AttributeUsage(AttributeTargets.Method)]
public class TraceExtensionAttribute : SoapExtensionAttribute
{

private string filename = "e:\\111111.xml";
private int priority;

public override Type ExtensionType
{
get { return typeof(TraceExtension); }
}

public override int Priority
{
get { return priority; }
set { priority = value; }
}

public string Filename
{
get
{
return filename;
}
set
{
filename = value;
}
}
}
Может кто знает ?
PavelNK
Старожил
Сообщения: 262
Зарегистрирован: 15 Март 2011, 8:02

SoapExtension

Сообщение PavelNK »

Admin писал(а):
PavelNK писал(а):то что программисты на других языках делают за час мы делаем неделями
Для того что бы программисты на "других языках" делали что то за час - в Microsoft сидят сотни программистов.
А может и больше чем сотни.
Годами сидят и пишут. И деньги получают не с продаж C#
Ну а дальше думаю все понятно...

P.S. Сорри за оффтопик.
Так и я об этом, а мы вместо программистов Microsoft сидим и изобретаем велосипед
Rimas
Ветеран
Сообщения: 496
Зарегистрирован: 07 Ноябрь 2005, 15:48
Откуда: Литва

SoapExtension

Сообщение Rimas »

а если оставить как есть на C# и просто заюзать из Clarion#?
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

SoapExtension

Сообщение BOB »

а если оставить как есть на C# и просто заюзать из Clarion#?
Ну да , такой вариант пошел сразу , но я все-таки раскопал как это писать на Clarion# , override это derived и компилировать надо any processor , вылетает ошибка No procedures in the loaded list длл не создается в bin , а в obj создается и нормально работает .
Ответить