小编Pan*_*ake的帖子

如何向服务器端 Blazor 项目添加控制器(而非视图)支持

当我的服务器端 Blazor 应用程序运行时,我希望一些 Javascript 代码_Host.cshtml能够将数据发布到控制器操作。当然,这完全超出了 Blazor 应用程序本身的范围,并且与 Blazor 应用程序本身无关。

我想这将是添加调用的问题services.AddControllers(),并endpoints.MapControllers()在适当的地方Startup.cs。但是,在执行此操作并实施控制器操作之后,我进行了以下观察:

  • 对操作的请求不会被路由并被视为“未找到”
  • 在 Razor 中,@Url.Action控制器操作返回一个空字符串

如何以克服上述两个问题的方式向我的服务器端 Blazor 项目添加控制器(而非视图)支持?

c# .net-core asp.net-core blazor blazor-server-side

12
推荐指数
1
解决办法
1万
查看次数

当可以从用户对象中提取所需的属性时,像 GetPhoneNumberAsync(IdentityUser user) 这样的 UserManager 方法的目的是什么?

我试图了解 ASP.Net Core Identity UI 视图背后的一些逻辑。

例如,Account\Manage\Index.cshtml.cs 包含以下代码:

    private async Task LoadAsync(IdentityUser user)
    {
        var userName = await _userManager.GetUserNameAsync(user);
        var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

        Username = userName;

        Input = new InputModel
        {
            PhoneNumber = phoneNumber
        };
    }
Run Code Online (Sandbox Code Playgroud)

当我们可以直接从用户对象中提取 PhoneNumber 属性时,为什么要调用 _userManager.GetPhoneNumberAsync(user) ?

.net c# asp.net-core asp.net-core-identity asp.net-core-3.1

4
推荐指数
1
解决办法
303
查看次数

使用带有ASP.NET核心标识的PostgreSQL的TypeLoadException

在安装VS2015 Update 3和Core 1.0版本之后,我试图在ASP.NET Core 1.0 Visual Studio 2015项目中使用PostgreSQL作为用户身份验证的数据存储.

脚步:

  1. 创建新的"ASP.NET核心Web应用程序(.NET Framework)"项目.

  2. 添加NuGet包"Npgsql"v3.1.4和"Npgsql.EntityFrameworkCore.PostgreSQL"v1.0.0-rc2-release1

  3. 修改Startup.cs中的ConfigureServices(),如下所示:

    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddEntityFrameworkNpgsql()
            .AddDbContext<ApplicationDbContext>(options =>
            options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
    
        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();
    
        services.AddMvc();
    
        // Add application services.
        services.AddTransient<IEmailSender, AuthMessageSender>();
        services.AddTransient<ISmsSender, AuthMessageSender>();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 调用AddDbContext()时抛出异常:

MyApp.exe中出现"System.TypeLoadException"类型的异常,但未在用户代码中处理

附加信息:无法从程序集"Microsoft.Extensions.DependencyInjection.Abstractions,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60"加载"Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions"类型.

我认为这是一个兼容性问题,很快将在Npgsql.EntityFrameworkCore.PostgreSQL中解决,但想确认这一点,并确定是否有可用的解决方法.

.net asp.net postgresql asp.net-mvc npgsql

2
推荐指数
1
解决办法
1206
查看次数