Assembly organization

whole project is composed of 4 assemblies:

cz.uhul.DSMLv2

contains base object classes with XML (DSML) serialization support

Note: current version is limited to DSML ResponseOrder=Unordered only. This is due to XmlSerialization engine. I didn't have time to resolve serializer better.

searchRequest filter missing lessThan and greaterThan operator and NOT operator is supported only on final (one) filter expression (and is not implemented in sprocs).

cz.uhul.DSMLv2.Server.Sql

this is extension to cz.uhul.DSMLv2, that contains 1 extra class LdRequestServerExtension with C# extension methods for each DSML request type. Each extension method can execute DSML request against L2DB database. Some of request types uses transactions to keep DB integrity.

Note: this assembly if used separately, requires one extra record in app.config or web.config that specifies rootDSE used for operations, see example.

<!-- this is used when direct access to DSMLv2.server.sql-->
<appSettings>
  <add key="RootDSE" value="IS_UHUL" />
</appSettings>

Warning: There is strong version check between this assembly and L2DB. Both must have same version number, otherwise error occurs, see code. Database version is stored in table named dbo._NFO

cz.uhul.DSMLv2.Services

WCF service that can accept incoming DSML requests and run it against L2DB database

cz.uhul.DSMLv2.client

tiny assembly that can attach to any code. It can send request to specified DSML WCF service without creating Service reference in project. This is for hardcore .NET-iers. Rest of us would probably appreciate do.html attached to source. When placed to same location as LdConnection.svc, it can process DSML requests from web browser.

Working with LDS

Extension to DSML

Installing LDS

Create type using sproc

Create instance using .NET classes

Using client classes in code

Last edited Aug 17, 2013 at 7:38 AM by asida, version 15

Comments

No comments yet.