aspnetmonsters / blazor.geolocation Goto Github PK
View Code? Open in Web Editor NEWBlazor interop for browers Geolocation apis
License: MIT License
Blazor interop for browers Geolocation apis
License: MIT License
Hi,
I have just noticed that the lib works perfectly, except when (I'm using the Dev Tools of Firefox by example), then the method
'dispatchResponse' is not called at all !
With the desktop a dialog is displayed ad ask me to allow geolocation, I allow it, then the 'dispatchResponse' is called.
With the mobile format a dialog is displayed ad ask me to allow geolocation, I allow it, he 'dispatchResponse' is NOT called.
BTW, I have reproduce the problem here:
https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation_error
If I use the mobile format... I got no answer!
Any idea why ?
Deleted comment. I added the service on the server side in an ASP.Net Core Hosted project, which I should not have done...
The watchPosition
method seems useful. We should support it.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition
I have found that a Blazor Server App (Scoped Service setting) gets the GPS coords first time, but not for a long time after that. I walk up to about 1K with no change.
So I conclude there needs to be a trigger to update the GPS coords.
It looks like the published package is missing Location.js. When I create the package by running dotnet build
the packages gets created correctly. How was the shipped package created?
Is this Library Dead? Does it work in Dotnet 5?
Hello there,
Thanks for writing this great tool! I'm having a problem when the user decides not to grant permissions. The call to LocationService.GetLocationAsync() hangs. I'm guessing this has to do with the location.js file; most likely the GetLocation function. Anyways. My JavaScript skills aren't that great... But it looks like the DnotNet.invokeMethodAsync function is not getting called.
Let me know your thoughts!
I am using the latest stable version of blazor.
when installing the latest stable version of this component, it generates an unknown error.
when installing the latest beta, the following error occurs:
Could not find 'AspNetMonsters' in 'window'. Error: Could not find 'AspNetMonsters' in 'window'. at https://localhost:44313/_framework/blazor.server.js:8:30748 at
Array.forEach () at p (https://localhost:44313/_framework/blazor.server.js:8:30709) at https://localhost:44313/_framework/blazor.server.js:8:31416 at
new Promise () at e.beginInvokeJSFromDotNet (https://localhost:44313/_framework/blazor.server.js:8:31390) at https://localhost:44313/_framework/blazor.server.js:1:19202 at
Array.forEach () at e.invokeClientMethod (https://localhost:44313/_framework/blazor.server.js:1:19173) at
e.processIncomingData (https://localhost:44313/_framework/blazor.server.js:1:17165
I have a problem with the all versions .
error is
`
System.AggregateException: 'Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType: AspNetMonsters.Blazor.Geolocation.LocationService Lifetime: Singleton ImplementationType: AspNetMonsters.Blazor.Geolocation.LocationService': Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton 'AspNetMonsters.Blazor.Geolocation.LocationService'.)'
System.AggregateException
HResult=0x80131500
Message=Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType: AspNetMonsters.Blazor.Geolocation.LocationService Lifetime: Singleton ImplementationType: AspNetMonsters.Blazor.Geolocation.LocationService': Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton 'AspNetMonsters.Blazor.Geolocation.LocationService'.)
Source=Microsoft.Extensions.DependencyInjection
StackTrace:
at Microsoft.Extensions.DependencyInjection.ServiceProvider..ctor(IEnumerable1 serviceDescriptors, ServiceProviderOptions options) at Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(IServiceCollection services, ServiceProviderOptions options) at Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(IServiceCollection containerBuilder) at Microsoft.Extensions.Hosting.Internal.ServiceFactoryAdapter
1.CreateServiceProvider(Object containerBuilder)
at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at TestDelete.Program.Main(String[] args) in C:\Users\Dom\source\repos\TestDelete\TestDelete\Program.cs:line 18
This exception was originally thrown at this call stack:
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.VisitScopeCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.CallSiteValidatorState)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite, TArgument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.VisitConstructor(Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.CallSiteValidatorState)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSiteMain(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite, TArgument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.VisitRootCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.CallSiteValidatorState)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite, TArgument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite)
Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceLookup.IServiceProviderEngineCallback.OnCreate(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite)
Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)
Inner Exception 1:
InvalidOperationException: Error while validating the service descriptor 'ServiceType: AspNetMonsters.Blazor.Geolocation.LocationService Lifetime: Singleton ImplementationType: AspNetMonsters.Blazor.Geolocation.LocationService': Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton 'AspNetMonsters.Blazor.Geolocation.LocationService'.
Inner Exception 2:
InvalidOperationException: Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton 'AspNetMonsters.Blazor.Geolocation.LocationService'.
`
This isn't supported in Blazor yet but Steve assures us this is coming very soon.
I've added Blazor.Geolocation as described in the readme file.
However when I run the application the following error pops-up:
blazor.webassembly.js:1 WASM: Unhandled exception rendering component: l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: Microsoft.JSInterop.JSException: Could not find 'AspNetMonsters' in 'window'. l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: Error: Could not find 'AspNetMonsters' in 'window'. l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at https://localhost:44347/_framework/blazor.webassembly.js:1:8937 l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at Array.forEach (<anonymous>) l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at p (https://localhost:44347/_framework/blazor.webassembly.js:1:8898) l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at https://localhost:44347/_framework/blazor.webassembly.js:1:9605 l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at new Promise (<anonymous>) l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at Object.beginInvokeJSFromDotNet (https://localhost:44347/_framework/blazor.webassembly.js:1:9579) l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at _mono_wasm_invoke_js_marshalled (https://localhost:44347/_framework/wasm/dotnet.js:1:166149) l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at wasm-function[6199]:0x1187e2 l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at wasm-function[1432]:0x40349 l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at wasm-function[635]:0x146fe l.printErr @ blazor.webassembly.js:1 put_char @ dotnet.js:1 write @ dotnet.js:1 write @ dotnet.js:1 ___syscall4 @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 (anonymous) @ dotnet.js:1 endInvokeJSFromDotNet @ blazor.webassembly.js:1 (anonymous) @ blazor.webassembly.js:1 Promise.then (async) beginInvokeJSFromDotNet @ blazor.webassembly.js:1 _mono_wasm_invoke_js_marshalled @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_wasm_invoke_method @ dotnet.js:1 call_method @ dotnet.js:1 set_task_result @ dotnet.js:1 (anonymous) @ dotnet.js:1 Promise.then (async) js_to_mono_obj @ dotnet.js:1 _mono_wasm_invoke_js_with_args @ dotnet.js:1 (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) (anonymous) Module._mono_background_exec @ dotnet.js:1 pump_message @ dotnet.js:1 blazor.webassembly.js:1 WASM: at System.Threading.Tasks.ValueTask
1[TResult].get_Result () <0x226d238 + 0x0002c> in :0
l.printErr @ blazor.webassembly.js:1
put_char @ dotnet.js:1
write @ dotnet.js:1
write @ dotnet.js:1
___syscall4 @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
(anonymous) @ dotnet.js:1
endInvokeJSFromDotNet @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.then (async)
beginInvokeJSFromDotNet @ blazor.webassembly.js:1
_mono_wasm_invoke_js_marshalled @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
set_task_result @ dotnet.js:1
(anonymous) @ dotnet.js:1
Promise.then (async)
js_to_mono_obj @ dotnet.js:1
_mono_wasm_invoke_js_with_args @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_background_exec @ dotnet.js:1
pump_message @ dotnet.js:1
blazor.webassembly.js:1 WASM: at AspNetMonsters.Blazor.Geolocation.LocationService.GetLocationAsync () <0x2234120 + 0x0013c> in :0
l.printErr @ blazor.webassembly.js:1
put_char @ dotnet.js:1
write @ dotnet.js:1
write @ dotnet.js:1
___syscall4 @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
(anonymous) @ dotnet.js:1
endInvokeJSFromDotNet @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.then (async)
beginInvokeJSFromDotNet @ blazor.webassembly.js:1
_mono_wasm_invoke_js_marshalled @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
set_task_result @ dotnet.js:1
(anonymous) @ dotnet.js:1
Promise.then (async)
js_to_mono_obj @ dotnet.js:1
_mono_wasm_invoke_js_with_args @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_background_exec @ dotnet.js:1
pump_message @ dotnet.js:1
blazor.webassembly.js:1 WASM: at dotnet.blazor.webassembly.weatherSA.Pages.Index.OnInitializedAsync () [0x000bc] in C:\Workspace\dotnet\dotnet.blazor.webassembly.weatherSA\dotnet.blazor.webassembly.weatherSA\Pages\Index.razor:76
l.printErr @ blazor.webassembly.js:1
put_char @ dotnet.js:1
write @ dotnet.js:1
write @ dotnet.js:1
___syscall4 @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
(anonymous) @ dotnet.js:1
endInvokeJSFromDotNet @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.then (async)
beginInvokeJSFromDotNet @ blazor.webassembly.js:1
_mono_wasm_invoke_js_marshalled @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
set_task_result @ dotnet.js:1
(anonymous) @ dotnet.js:1
Promise.then (async)
js_to_mono_obj @ dotnet.js:1
_mono_wasm_invoke_js_with_args @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_background_exec @ dotnet.js:1
pump_message @ dotnet.js:1
blazor.webassembly.js:1 WASM: at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync () <0x1e635c0 + 0x0014c> in :0
l.printErr @ blazor.webassembly.js:1
put_char @ dotnet.js:1
write @ dotnet.js:1
write @ dotnet.js:1
___syscall4 @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
(anonymous) @ dotnet.js:1
endInvokeJSFromDotNet @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.then (async)
beginInvokeJSFromDotNet @ blazor.webassembly.js:1
_mono_wasm_invoke_js_marshalled @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_wasm_invoke_method @ dotnet.js:1
call_method @ dotnet.js:1
set_task_result @ dotnet.js:1
(anonymous) @ dotnet.js:1
Promise.then (async)
js_to_mono_obj @ dotnet.js:1
_mono_wasm_invoke_js_with_args @ dotnet.js:1
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
(anonymous)
Module._mono_background_exec @ dotnet.js:1
pump_message @ dotnet.js:1
blazor.webassembly.js:1 WASM: at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask (System.Threading.Tasks.Task taskToHandle) <0x2036138 + 0x000c2> in :0 `
I'm using AspNetMonsters,Blazor.Geolocation::0.5.0-preview1 with Microsoft.AspNetCore.Blazor.Templates::3.2.0-preview1.20073.1
Hi,
I am trying to use this with the official Blazor release, but I get an error when following the example. Especially with this line:
services.AddSingleton<LocationService>();
I get the following error when starting it up:
AggregateException: Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType: AspNetMonsters.Blazor.Geolocation.LocationService Lifetime: Singleton ImplementationType: AspNetMonsters.Blazor.Geolocation.LocationService': Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton 'AspNetMonsters.Blazor.Geolocation.LocationService'.) Microsoft.Extensions.DependencyInjection.ServiceProvider..ctor(IEnumerable<ServiceDescriptor> serviceDescriptors, ServiceProviderOptions options)
I tried changing the AddSingleton() to a AddScoped(), but then I got another run-time error.
Let me know if you need some logs or anything else from me.
try to get it run with 3.0 final
protected override async Task OnInitAsync()
should be in readme.md
protected override async Task OnInitializedAsync()
but at this point I get a
NullReferenceException: Object reference not set to an instance of an object.
Microsoft.AspNetCore.Components.Server.Circuits.RemoteJSRuntime.BeginInvokeJS(long asyncHandle, string identifier, string argsJson)
Microsoft.JSInterop.JSRuntime.InvokeAsync(string identifier, CancellationToken cancellationToken, object[] args)
Microsoft.JSInterop.JSRuntime.InvokeWithDefaultCancellation(string identifier, object[] args)
System.Threading.Tasks.ValueTask.get_Result()
System.Runtime.CompilerServices.ValueTaskAwaiter.GetResult()
AspNetMonsters.Blazor.Geolocation.LocationService.GetLocationAsync() in LocationService.cs
+
var result = await jSRuntime.InvokeAsync("AspNetMonsters.Blazor.Geolocation.GetLocation", requestId);
UseGeo.Pages.Index.OnInitializedAsync() in Index.razor
+
location = await LocationService.GetLocationAsync();
JSInterop Versionionin miss Match
I have updated version of JSInterop in which .get_current() method is written in Library
while the packge include this method .get_current() which I can't ovveride after Installing Pkag through Pakg Manager
But Now i will ReWrite the package using Clonning it and updating it to new updated library of .net 6 JS interop version 6. something
I just tried using version 0.4.0.1017, and as soon as the page tries to call GetLocationAsync()
, either:
I basically followed the instructions from the GitHub home page, so I'm not sure if there's something I didn't do right or there's an issue with the way it's set up (I'm using 0.7 for Blazor)
Howdy Gents,
I really, really wanted to use B.G, but ran into a slew of problems when trying to get it to work with VS16.9.3, and Core 3.0, Server Side Blazor. You guys are doing great work, there is no way I was going to get into your stuff and change it, so I've created an app with workarounds on all of the issues, and it successfully uses B.G to find location. My app can be found at https://github.com/bdnts/BlazorGeo and is accessible to all.
Issue #1: Location Services as a Singleton -- In the release I am using, IJSRuntime is already registered as Scoped.
Workaround #1: Registered LocationService as Scoped. Running multiple browsers against the same app, each connection having its own service is probably not a bad idea.
Issue #2: OnInitAsync is deprecated.
Workaround #2: Change to OnInitializedAsync.
Issue #3: NullReferenceException. No matter what I did, just could not get this work during initialization.
Workaround #3: I change the logic to get location on a button click instead of during initialization. I commented out the old code and created GetMyLocation() to replace it.
Issue #4: Can't find Location.js. There is a missing step about adding <script src="Location.js"></script> to _Host.cshtml, but still could not find the script.
Workaround #4: I created a local Location.js file, and copied the contents from B.G source tree into the local file.
Bada boom Bada bang, it works! Works really well. I deployed the app to Azure, drove around town on some errands, refreshed wherever I went. It's great! I'll be looking for updates, and will do what I can to help out.
Cheers
Brian
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.