Leitura do ASP.NET Core 2.0: Opções na página de navalha

Segueesta guia, estou tentando mostrar em uma página do ASP.NET Core 2.0 os valores das configurações.

No startup.cs, adicionei alguns serviços:

services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddOptions();
services.Configure<MyOptions>(Configuration);

onde MyOptions é definido aqui:

namespace WebApplication1
{
    public class OptionsController : Controller
    {
        private readonly SubOptions _SubOptions;

        public OptionsController(IOptions<SubOptions> options)
        {
            _SubOptions = (SubOptions) options;
        }

        public IActionResult Index()
        {
            var RefreshTime = _SubOptions.RefreshTime;
            return Content($"RefreshTime = {RefreshTime}");
        }
    }

    public class MyOptions
    {
        public MyOptions()
        {
            SubOpt = new SubOptions();
        }

        public SubOptions SubOpt { get; set; }
    }

    public class SubOptions
    {
        public SubOptions()
        {
            RefreshTime = 5;
        }

        public int RefreshTime { get; set; }
    }
}

Tentando em startup.cs, posso acessar a configuração RefreshTime. Agora eu quero fazer isso diretamente no cshtml:

@using Microsoft.Extensions.Options
@model MyOptions
@inject IOptions<MyOptions> Options
@page
@model AboutModel
@{
    ViewData["Title"] = "About";
}
<
<h3>@Model.Message</h3>
<br />
<div>
    <h3>Options</h3>
    <h4>Sub Options</h4>
    <p><b>Refresh time</b> @Options.Value.SubOptions.RefreshTime</p>
</div>

A página não carrega, mas não vejo erros no console de saída do VisualStudio nem no do navegador.

Além disso, a página não carrega, mesmo que eu coloque a primeira diretiva @using, removendo todas as outras opções.

Então eu verifiquei que tenho esse pacote instalado e parece que:

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.Extensions.Options" Version="2.0.0" />
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" PrivateAssets="All" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>

Preciso fazer outra coisa?

ATUALIZAR

Como o @Niladri apontou, eu misturei as páginas MVC e Razor (vou abrir uma pergunta separada sobre esse tópico).

Agora eu removi a classe do controlador porque não é necessário para páginas de barbear. Enfim, o principal problema é que, se eu adicionar@using Microsoft.Extensions.Options em qualquer página, isso não permite o carregamento da página.

Mas não consigo ver nenhum erro ou exceção.

questionAnswers(2)

yourAnswerToTheQuestion