Skip to content

Commit e996f31

Browse files
committed
Address feedback from peer review
1 parent bff6766 commit e996f31

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Components/WebAssembly/WebAssembly/src/Services/LazyAssemblyLoader.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ public sealed class LazyAssemblyLoader
2525
internal const string ReadDynamicAssemblies = "window.Blazor._internal.readLazyAssemblies";
2626

2727
private readonly IJSRuntime _jsRuntime;
28-
private readonly Dictionary<string, Assembly> _loadedAssemblyCache;
28+
private readonly HashSet<string> _loadedAssemblyCache;
2929

3030
public LazyAssemblyLoader(IJSRuntime jsRuntime)
3131
{
3232
_jsRuntime = jsRuntime;
33-
_loadedAssemblyCache = AppDomain.CurrentDomain.GetAssemblies().ToDictionary(assembly => assembly.GetName().Name + ".dll", assembly => assembly);
33+
_loadedAssemblyCache = AppDomain.CurrentDomain.GetAssemblies().Select(a => a.GetName().Name + ".dll").ToHashSet();
3434
}
3535

3636
/// <summary>
@@ -77,7 +77,7 @@ private async Task<IEnumerable<Assembly>> LoadAssembliesInClientAsync(IEnumerabl
7777
// to see if it throws FileNotFound to ensure that an assembly hasn't been loaded
7878
// between when the cache of loaded assemblies was instantiated in the constructor
7979
// and the invocation of this method.
80-
var newAssembliesToLoad = assembliesToLoad.Except(_loadedAssemblyCache.Keys);
80+
var newAssembliesToLoad = assembliesToLoad.Where(assembly => !_loadedAssemblyCache.Contains(assembly));
8181
var loadedAssemblies = new List<Assembly>();
8282

8383
var count = (int)await ((WebAssemblyJSRuntime)_jsRuntime).InvokeUnmarshalled<string[], object, object, Task<object>>(
@@ -105,7 +105,7 @@ private async Task<IEnumerable<Assembly>> LoadAssembliesInClientAsync(IEnumerabl
105105
// into the default app context.
106106
var loadedAssembly = AssemblyLoadContext.Default.LoadFromStream(new MemoryStream(assembly));
107107
loadedAssemblies.Add(loadedAssembly);
108-
_loadedAssemblyCache.Add(loadedAssembly.GetName().Name + ".dll", loadedAssembly);
108+
_loadedAssemblyCache.Add(loadedAssembly.GetName().Name + ".dll");
109109
}
110110

111111
return loadedAssemblies;

0 commit comments

Comments
 (0)