Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The given key was not present in the dictionary #21

Open
NikRimington opened this issue May 8, 2018 · 7 comments
Open

The given key was not present in the dictionary #21

NikRimington opened this issue May 8, 2018 · 7 comments

Comments

@NikRimington
Copy link

Hi @Joniff ,

I think I'm getting an issue related to #16
Basically when calling the Terratype HTML helper as so @Html.Terratype(mapOptions, contactPage.MapLocation) I'm getting an error thrown:

"The given key was not present in the dictionary".

I had this after I first upgraded to version 1.0.18 and thought it was down to files conflicting so did a completely clean build and it seemed to fix it for a while, however it has come back again.

When I look at my datatype in the back office I'm getting "No Terratype map providers have been installed" despite that Google Maps provider being installed.

Thanks,

Nik

@NikRimington
Copy link
Author

It might not be related to #16 but it looks like the issue has been around for a little while: https://our.umbraco.org/projects/backoffice-extensions/terratype/bugs-questions/90338-keynotfoundexception-in-publishedcache

@Joniff
Copy link
Owner

Joniff commented May 8, 2018

Hi Nik,

Its a bit of a puzzler why providers are being de-activated, I have created a test version of Terratype, which contains a 'Test Provider' functionality that reports some internal info. It can be downloaded as an Umbraco package from

https://our.umbraco.org/projects/backoffice-extensions/terratype/

It is the one called version 1.0.18.1

To access the new functionality, click the button located in the developer section when configuring your Terratype Maps

image

The button will appear regardless of whether any Providers have been loaded.

If you get chance to intall and get report back some info.
I have also added some code that throws an exception if a Provider isn't loaded. This should clear up some confusion about the cause of the error - though doesn't solve the issue.

I will look into this issue more, as I'm wondering if the Lazy<> code is running at the 'wrong' time or something for certain people.

eg. What version of Umbraco are they using. Is the DI they are using interfering with Terratype.
I might refactor the Lazy<>code, to see what happens.

@NikRimington
Copy link
Author

Okay, so I've installed this package, and as is predictable, it is all working at the minute. But then again it was working fine on my dev machine and it was having the issue on the live (test) site. At the minute it appears to be working but I'll keep an eye on it and see if it decides to stop working again and then use the Test providers.

Installing the package you've provided has installed 4 providers where as previously I had only installed the Google Maps provider as was installed via Nuget. I don't know if that makes a difference or not.

@Joniff
Copy link
Owner

Joniff commented May 9, 2018

Thank you for installing this test release, Keep me posted

@PezCo
Copy link

PezCo commented Jun 1, 2018

Is version 1.0.15 definitely without this issue?

would it be reasonable to downgrade until a proper fix can be found? Im currently using 1.018 previously 1.0.16 on a production website hosted on azure.

An occasionally breaking map is not good, restarting the app usually fixes it which makes me think its something to do with umbraco start up, But not really a solution.

@Joniff
Copy link
Owner

Joniff commented Jun 1, 2018

@PezCo

I'm aware that this bug is not great.

Currently there are two versions that take very different approaches to solve this issue.
1.0.18.1 that is being tested by @NikRimington
1.0.18.2 that is being tested by Callum Whyte

Both can only be downloaded from

https://our.umbraco.org/projects/backoffice-extensions/terratype/

as a package only. There is no Nuget version as yet - there won't be a Nuget version until it is better tested.

The version for Callum is more radical and has a completely different Umbraco start up code. (Instead of the Terratype core code trying to use reflection to find Map Providers, Callum's version the Map providers tell the core they exist. The two versions don't share any code in regard to startup, the whole startup is a complete re-write).

I can only apologise, but if you do download and use one of this test versions (1.0.18.1 or 1.0.18.2), I would love to know that you are using it.

Cheers

@markmc27
Copy link

Hey @Joniff. I had the same issue where everything was fine locally but received this error when deploying to a staging environment.

I've installed the 1.0.18.2 version (just a random pick between .1 and .2) of the package on staging and everything seems to be working great again now. 👍

Thanks for the updates and for Terratype 😃! I'll report back if I see any issues with the new version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants