[mapguide-users] Application compatibility b/w MGE2009 and MGOS
2.0.2
Dejan Gregor
dejan.gregor at GMAIL.COM
Fri Jan 15 03:41:45 EST 2010
Kenneth,
I am using the verion 2.1.0.3505 for MapGuideDotNetApi. Where should I set
the version value (newVersion or oldVersion) and is the publicKeyToken still
'f526c48929fda856'?
I am using MGE 2010.
Dejan
Kenneth Skovhede, GEOGRAF A/S wrote:
>
> The "Invalid Stream Header" is a sort-of catch-all exception that happens
> when the MapGuide service tries to de-serialize an object, and finds
> something it does not expect.
> The usual cause of this is the other (unmanaged) binaries.
>
> The MapGuideDotNet.dll file is a thin wrapper that just calls the
> unmanaged dll's.
>
> So you can bind .Net to either version of the managed dll, but you MUST
> have the correct
> unmanaged dll's in the bin folder.
>
> Alternatively, you can fix the binding through the Web.config file:
> <configuration>
> <runtime>
> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
> <dependentAssembly>
> <assemblyIdentity name="MapGuideDotNetApi"
> publicKeyToken="f526c48929fda856" />
> <bindingRedirect oldVersion="2.0.0.2308" newVersion="1.2.0.4103"
> />
> </dependentAssembly>
> </assemblyBinding>
> </runtime>
> </configuration>
>
> Replace the publicKeyToken and version as you please.
>
> There was a slight change with MgDisposable/MgGuardedDisposable some
> time ago.
> If you run into that, you have to use the re-bind option described above.
>
> Regards, Kenneth Skovhede, GEOGRAF A/S
>
>
>
> MacNair skrev:
>> We have a Mapguide application developed using MGE 2009’s library. This
>> application does most of its work by calling methods from another DLL
>> called
>> “MGEUtils.DLL”. This DLL references “MapGuideDotNet.DLL”.
>>
>> The application works fine on the development machine where MGE is
>> installed. But on the deployment machine where MapGuide Open Source (MGOS
>> 2.0.2.3011) is installed we are getting a few errors.
>>
>> Should we recompile the class library “MGEUtils” referencing MGOS’s
>> MapGuideDotNet.DLL?
>>
>> The calls made to the methods in MGEUtils to initialize the application
>> are
>> throwing a few errors as given under. Note: The function definitions for
>> these methods are given in Appendix below:
>>
>> // Initialize the webtier
>> string sErrMsg = "";
>> mgeUtils.InitializeWebTier(configPath, sErrMsg);
>>
>> // Validate the user login and create a session
>> mgeUtils.InitialiseSession("Anonymous", "", ref sessionId, ref sErrMsg);
>>
>> Note: The function definitions for the above calls within MGEUtils are
>> given at the end of this document.
>>
>> Errors encounterd are…
>>
>> CASE I: Placing MGE’s MapGuideDotNet.dll along with “MGEUtils.DLL” in
>> the
>> application’s bin directory.
>> Error @ LINE: mgeUtils.InitialiseSession("Anonymous", "", ref sessionId,
>> ref
>> sErrMsg);
>> Error details: OSGeo.MapGuide.MgInvalidStreamHeaderException: Invalid
>> stream
>> header exception
>>
>> CASE II: Placing MGOS ’s MapGuideDotNet.dll along with “MGEUtils.DLL”
>> in
>> the application’s bin directory.
>> Error @ LINE: mgeUtils.InitializeWebTier(configPath, sErrMsg);
>> Error details: Could not load file or assembly 'MapGuideDotNetApi,
>> Version=2.0.0.3202, Culture=neutral, PublicKeyToken=6416a18f8953383b' or
>> one
>> of its dependencies. The located assembly's manifest definition does not
>> match the assembly reference. (Exception from HRESULT: 0x80131040)
>>
>> Any help on this? Sorry for the lengthy mail. Thanks!
>>
>> Function defintions
>>
>> public bool InitializeWebTier(string configPath, string csErrMsg)
>> {
>> try
>> {
>> // Check if the webConfig file exists
>> if (!File.Exists(configPath)) { return false; }
>>
>> MapGuideApi.MgInitializeWebTier(configPath);
>> return true;
>> }
>> catch (MgConnectionFailedException mge)
>> {
>> csErrMsg = mge.GetMessage();
>> return false;
>> }
>> }
>> public bool InitialiseSession(string userName, string userPwd, ref string
>> sessionId, ref string csErrMsg)
>> {
>> try
>> {
>> // Validate user login
>> MgUserInformation userInfo = new MgUserInformation(userName, userPwd);
>> MgSite site = new MgSite();
>> site.Open(userInfo);
>>
>> // Create a session
>> sessionId = site.CreateSession();
>> }
>> catch (MgConnectionFailedException mge)
>> {
>> csErrMsg = mge.GetMessage();
>> return false;
>> }
>>
>> return true;
>> }
>>
>>
>>
>>
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>
>
-----
Dejan Gregor, MSc
GISc Researcher and Consultant
http://www.linkedin.com/in/dgregor
--
View this message in context: http://n2.nabble.com/Application-compatibility-b-w-MGE2009-and-MGOS-2-0-2-tp1819071p4397555.html
Sent from the MapGuide Users mailing list archive at Nabble.com.
More information about the mapguide-users
mailing list