How to create an SDK Server for Compact Framework 2.0?

Hello,

Are there any instructions available for creating a RemObjects SDK server on a Compact Framework 2.0 assembly (.dll) for distribution to a Windows CE device?

I have the previous example that you sent for using ADO.NET to access data. From that I’m guessing that I have to use the Service Builder to create the service, then programmatically create the channel and message? Which RO SDK assemblies do I include with the CE application?

Thank you,
Brian Wheatley

Hello Brian.

Are there any instructions available for creating a RemObjects SDK server on a Compact Framework 2.0 assembly (.dll) for distribution to a Windows CE device?
I have the previous example that you sent for using ADO.NET to access data. From that I’m guessing that I have to use the Service Builder to create the service, then programmatically create the channel and message? Which RO SDK assemblies do I include with the CE application?

To create RemObjects SDK CF server you need to do the next steps:

  1. Create new Compact Framework application.

  2. Compile RemObjects SDK assemblies for Compact Framework

  3. Add references to Compact Framework RemObjects.SDK, RemObjects.SDK.Server, RemObjects.SDK.Zlib, RemObjects.InternetPack assemblies.

  4. Open Service Builder. Create new .rodl file, add it to the project. Corresponding _Intf, _Invk, _Impl files will be created.

  5. Add implementations for service methods in _Impl file.

  6. Create channel and message components the next way

     ServerChannel serverChannel;
     Message serverMessage;
    
     public MainForm()
     {
         RemObjects.SDK.TypeManager.TypeAssemblies.Add(typeof(TestService).Assembly);
         this.serverChannel = new IpHttpServerChannel() { Port = 8099 };
         this.serverMessage = new BinMessage();
         this.serverChannel.Dispatchers.Add("bin",this.serverMessage);
         this.serverChannel.Activate();
         InitializeComponent();
     }
    
  7. Start the server.

Hope this helps.

In regard to step #2 above…

I’ve located the RemObjects.SDK.CF.2008 solution, but when I try to compile this I receive error messages.

Error 1 Cryptographic failure while signing assembly ‘C:\Program Files\RemObjects Software\Internet Pack for .NET\Source\RemObjects.InternetPack\obj\Debug\RemObjects.InternetPack.dll’ – ‘The key container name ‘RemObjectsSoftware’ does not exist’ RemObjects.InternetPack.CF.2008
Error 2 Metadata file ‘C:\Program Files\RemObjects Software\Internet Pack for .NET\Source\RemObjects.InternetPack\bin\Debug\RemObjects.InternetPack.dll’ could not be found RemObjects.SDK.CF.2008
Error 3 Metadata file ‘C:\Program Files\RemObjects Software\Internet Pack for .NET\Source\RemObjects.InternetPack\bin\Debug\RemObjects.InternetPack.dll’ could not be found RemObjects.SDK.Server.CF.2008
Error 4 Metadata file ‘C:\Program Files\RemObjects Software\RemObjects SDK for .NET\Bin\CF\RemObjects.SDK.dll’ could not be found RemObjects.SDK.Server.CF.2008

I’m not sure what to do about these.

Hello Brian.

You need to generate a cryptographic key pair using commands:
sn -k RemObjectsSoftware
sn -i RemObjectsSoftware RemObjectsSoftware

See corresponding Q/A http://wiki.remobjects.com/wiki/Platform_FAQs_(RemObjects_SDK)#How_can_I_rebuild_RemObjects_SDK_for_.NET_assemblies_.28.NET.29.3F

Hope this helps.