Страница 1 из 1

SoapExtension

Добавлено: 08 Ноябрь 2016, 7:46
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;
}
.....................
Может Дед подскажет ?

SoapExtension

Добавлено: 08 Ноябрь 2016, 8:15
PavelNK
Напрямую никак! Дело в том, что в С# есть куча разных библиотек, в т.ч. DotNet. За несколькими строчками кода приведенного здесь стоят десятки-сотни метров кода библиотек. В Кларионе ничего подобного нет, т.к. писатели Клариона считают, что все то, чего нет в нем можно написать используя WinAPI. Поэтому, то что программисты на других языках делают за час мы делаем неделями, самостоятельно изобретая эти самые библиотеки. Можно взять исходники используемой библиотеки, если есть, раскрутить и все переписать на Клашу.

SoapExtension

Добавлено: 08 Ноябрь 2016, 8:34
BOB
Я же о нете и пишу , пока не сталкивался с тем что кларион.нет не может , сталкивался с тем что синтаксиса не знаю . Кстати веб сервис кларион пишет на ура и даже вин формы подключает , а в c# в вебсервисе я даже не могу написать messagebox.show() .

SoapExtension

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

P.S. Сорри за оффтопик.

SoapExtension

Добавлено: 08 Ноябрь 2016, 11:11
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;
}
}
}
Может кто знает ?

SoapExtension

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

P.S. Сорри за оффтопик.
Так и я об этом, а мы вместо программистов Microsoft сидим и изобретаем велосипед

SoapExtension

Добавлено: 19 Ноябрь 2016, 9:27
Rimas
а если оставить как есть на C# и просто заюзать из Clarion#?

SoapExtension

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