The code for the MapGuideNativeAPI.dll is present in the sourcecode for MapStudioOS (look in MapGuideAPI/NativeAPIWrapper). This code is generated with the MapGuide Open Source SWiG build, but I removed all .Net 2.0 stuff, and replaced it with .Net 1.1 counterparts. Recently I have modified the generated code a bit, so that it will run on both 1.2 MapGuide dll's and 2.0 dll's.

The MapGuideNativeAPI.dll is almost the same as the one distributed as MapGuideDotNetApi.dll (with the diffs mentioned above). If you wish to use some of the more "advanced" stuff, where you can modify classes instead of Xml, you have to reference the MapGuideAPI.dll. This DLL offers two connections to the MapGuide Server, namely HttpServerConnection and LocalNativeConnection. The first one is 100% managed and does not use/need the Binaries shipped with MapGuide. The second one uses the MapGuideNativeAPI.dll to access the MapGuide binaries (dll files), and connects with those.

Both types of connection offers an identical set of methods to read/write MapGuide data as classes, rather than Xml. Unfortunately the Http interface does not support all the features of the NativeAPI, so some features are only accessible by calling that directly (missing methods are mainly related to FDO create/update).

You can mix and match as you like, I see no problems in using both API models at the same time. I have tested the code with both MGOS and MGE, I even have special code to handle MGE 2007 runtime maps :). FYI, the HttpServerConnection is more extensively tested than the LocalNativeConnection.

Regards, Kenneth, GEOGRAF A/S



Maksim Sestic skrev:
Hi Kenneth,

I'm working on a managed server component leaning on MapGuide Enterprise
2008. For my previous MG-related projects I've been using native
MapGuideDotNetApi.dll wrapper to access server in first place. Since it's
far from perfect (had to parse resource XML by hand, etc.) I decided to
write the wrapper all over again, but then noticed that MapStudio OS already
implements such functionality in more ".NET-oriented" :-) fashion.

I'm planning to use it for resource access only, and have few questions
about it... Firstly, I noticed that MapStudio OS references
MapGuideNativeAPI.dll. Is this native MGOS .NET wrapper? I'm not sure, since
it differs a bit when compared to Autodesk's MapGuideDotNetApi.dll (MGE 2008
was built on MGOS 1.2.0). Where does MapGuideNativeAPI.dll come from? MGOS?

Secondly, I'm still intending to use native MGE .NET wrapper library
MapGuideDotNetApi.dll. Is it possible to mix the two, meaning - is it
possible to reference both native MGE MapGuideDotNetApi.dll and your
MapGuideAPI.dll for managed resource access? It would be great to lean
overall MG access only on MapStudio OS' MapGuideNativeAPI.dll and
MapGuideAPI.dll, but I have to be very cautious since Autodesk's MGE
implementation may differ a bit and introduce possible compatibility issues.

Regards,
Maksim Sestic
_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to