diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Microsoft.AspNetCore.Blazor.Browser.csproj b/src/Microsoft.AspNetCore.Blazor.Browser/Microsoft.AspNetCore.Blazor.Browser.csproj
index e1da5ca8d4..d4336cde80 100644
--- a/src/Microsoft.AspNetCore.Blazor.Browser/Microsoft.AspNetCore.Blazor.Browser.csproj
+++ b/src/Microsoft.AspNetCore.Blazor.Browser/Microsoft.AspNetCore.Blazor.Browser.csproj
@@ -4,6 +4,10 @@
netstandard2.0
+
+
+
+
diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Services/DefaultBrowserServiceProvider.cs b/src/Microsoft.AspNetCore.Blazor.Browser/Services/DefaultBrowserServiceProvider.cs
index 6d1780b9d5..0bfa8d0a9d 100644
--- a/src/Microsoft.AspNetCore.Blazor.Browser/Services/DefaultBrowserServiceProvider.cs
+++ b/src/Microsoft.AspNetCore.Blazor.Browser/Services/DefaultBrowserServiceProvider.cs
@@ -1,6 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+using Microsoft.Extensions.DependencyInjection;
using System;
namespace Microsoft.AspNetCore.Blazor.Browser.Services
@@ -11,10 +12,34 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Services
///
public class DefaultBrowserServiceProvider : IServiceProvider
{
+ private readonly IServiceProvider _underlyingProvider;
+
+ ///
+ /// Constructs an instance of .
+ ///
+ public DefaultBrowserServiceProvider(): this(null)
+ {
+ }
+
+ ///
+ /// Constructs an instance of .
+ ///
+ /// A callback that can be used to configure the .
+ public DefaultBrowserServiceProvider(Action configure)
+ {
+ var serviceCollection = new ServiceCollection();
+ AddDefaultServices(serviceCollection);
+ configure?.Invoke(serviceCollection);
+ _underlyingProvider = serviceCollection.BuildServiceProvider();
+ }
+
///
public object GetService(Type serviceType)
+ => _underlyingProvider.GetService(serviceType);
+
+ private void AddDefaultServices(ServiceCollection serviceCollection)
{
- throw new NotImplementedException();
+ // TODO: Add default services for HttpClient, IUrlHelper, etc.
}
}
}