Questions tagged «asp.net-core-mvc»

ASP.NET Core MVC是一个轻量级的表示框架,用于使用ASP.NET Core创建动态网站。它允许创建基于控制器的MVC站点,或查看基于模型的Razor页面。MVC包括路由,模型绑定和验证,过滤器,Web API和Razor视图引擎等功能。

11
如何在ASP.NET Core中创建自定义AuthorizeAttribute?
我正在尝试在ASP.NET Core中创建自定义授权属性。在以前的版本中,可以覆盖bool AuthorizeCore(HttpContextBase httpContext)。但这在中不再存在AuthorizeAttribute。 制作自定义AuthorizeAttribute的当前方法是什么? 我要完成的工作:我在标题授权中收到一个会话ID。通过该ID,我将知道特定操作是否有效。

7
使用ASP.NET Core DI解决实例
如何使用ASP.NET Core MVC内置的依赖项注入框架手动解析类型? 设置容器非常简单: public void ConfigureServices(IServiceCollection services) { // ... services.AddTransient<ISomeService, SomeConcreteService>(); } 但是,ISomeService不进行注射怎么办?例如,我要这样做: ISomeService service = services.Resolve<ISomeService>(); 中没有此类方法IServiceCollection。

21
如何在Asp.Net Core中注册同一接口的多个实现?
我有从相同接口派生的服务。 public interface IService { } public class ServiceA : IService { } public class ServiceB : IService { } public class ServiceC : IService { } 通常,其他IoC容器例如 Unity允许您通过一些Key区分它们的具体实现来注册。 在ASP.NET Core中,如何注册这些服务并在运行时基于某些键解析它们? 我看不到任何Add带有key或name参数的Service方法,这些方法通常用于区分具体实现。 public void ConfigureServices(IServiceCollection services) { // How do I register services of the same interface? } public MyController:Controller …


19
ASP.NET Core依赖注入错误:尝试激活时无法解析类型的服务
我创建了一个.NET Core MVC应用程序,并使用依赖注入和存储库模式将存储库注入到控制器中。但是,我得到一个错误: InvalidOperationException:尝试激活“ WebApplication1.Controllers.BlogController”时,无法解析“ WebApplication1.Data.BloggerRepository”类型的服务。 模型(Blog.cs) namespace WebApplication1.Models { public class Blog { public int BlogId { get; set; } public string Url { get; set; } } } DbContext(BloggingContext.cs) using Microsoft.EntityFrameworkCore; using WebApplication1.Models; namespace WebApplication1.Data { public class BloggingContext : DbContext { public BloggingContext(DbContextOptions<BloggingContext> options) : base(options) { …

8
如何从ASP.NET Core RC2 Web Api返回HTTP 500?
回到RC1,我会这样做: [HttpPost] public IActionResult Post([FromBody]string something) { try{ // ... } catch(Exception e) { return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError); } } 在RC2中,不再有HttpStatusCodeResult,并且没有什么可以让我返回500类型的IActionResult。 现在,针对我的要求,该方法是否完全不同?我们不再尝试捕获Controller代码了吗?我们是否只是让框架向API调用者抛出泛型500异常?对于开发,如何查看确切的异常堆栈?


7
ASP.NET Core表单POST导致HTTP 415不支持的媒体类型响应
将表单POST HTTP请求(Content-Type: application/x-www-form-urlencoded)发送到以下控制器将导致HTTP 415不支持的媒体类型响应。 public class MyController : Controller { [HttpPost] public async Task<IActionResult> Submit([FromBody] MyModel model) { //... } } 表单发布HTTP标头: POST /submit HTTP/1.1 Host: example.com:1337 Connection: keep-alive Content-Length: 219 Pragma: no-cache Cache-Control: no-cache Origin: https://example.com:1337 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) …


11
ASP.NET Core使用IConfiguration获取Json数组
在appsettings.json中 { "MyArray": [ "str1", "str2", "str3" ] } 在Startup.cs中 public void ConfigureServices(IServiceCollection services) { services.AddSingleton<IConfiguration>(Configuration); } 在HomeController中 public class HomeController : Controller { private readonly IConfiguration _config; public HomeController(IConfiguration config) { this._config = config; } public IActionResult Index() { return Json(_config.GetSection("MyArray")); } } 上面有我的代码,我为null如何获取数组?

6
在ASP.NET Core MVC中选择标签助手
我在ASP.NET Core中需要选择标记帮助器的帮助。 我有一个要绑定到选择标签助手的员工列表。我的员工处于List<Employee> EmployeesList,选定的价值将归入EmployeeId财产。我的视图模型如下所示: public class MyViewModel { public int EmployeeId { get; set; } public string Comments { get; set; } public List<Employee> EmployeesList {get; set; } } 我的员工班级是这样的: public class Employee { public int Id { get; set; } public string FullName { get; set; } } 我的问题是我如何告诉我的选择标签助手在下拉列表中Id显示FullName时将其用作值? …

10
从.net Core中的appsettings.json获取价值
不知道我在这里缺少什么,但是我无法从.net核心应用程序中的appsettings.json获取值。我有我的appsettings.json为: { "AppSettings": { "Version": "One" } } 启动: public class Startup { private IConfigurationRoot _configuration; public Startup(IHostingEnvironment env) { _configuration = new ConfigurationBuilder() } public void ConfigureServices(IServiceCollection services) { //Here I setup to read appsettings services.Configure<AppSettings>(_configuration.GetSection("AppSettings")); } } 模型: public class AppSettings { public string Version{ get; set; } …

14
发布到IIS,设置环境变量
阅读这两个问题/答案,我能够在IIS 8.5服务器上运行Asp.net 5应用程序。 Asp.net vNext早期Beta发布到Windows Server中的IIS 如何配置MVC6应用程序以在IIS上运行? 问题是,即使在IIS上运行,Web应用程序仍在使用env.EnvironmentName值Development。 另外,我想在同一台服务器上运行同一Web的两个版本(登台,生产),因此我需要一种方法来分别为每个Web设置变量。 这该怎么做?

16
包含重复的“内容”项。默认情况下,.NET SDK包含项目目录中的“内容”项
每当我将JavaScript或CSS文件添加到asp.net核心项目中并dotnet run在bash终端中执行时,都会出现以下错误: /usr/share/dotnet/sdk/1.0.1/Sdks/Microsoft.NET.Sdk/build/Microsoft .NET.Sdk.DefaultItems.targets(188,5):错误:已包含重复的“内容”项。默认情况下,.NET SDK包含项目目录中的“内容”项。您可以从项目文件中删除这些项目,也可以将“ EnableDefaultContentItems”属性设置为“ false”(如果要在项目文件中明确包含这些项目)。有关更多信息,请参见 https://aka.ms/sdkimplicititems。重复项为:'wwwroot / css / BasicQuotation.css'; 'wwwroot / js / BasicQuotation.js'[/mnt/c/Dev/myproject/MyProject/MyProject.csproj] 构建失败。请修复构建错误,然后重新运行。 我可以通过ItemGroup从csproj文件中删除来解决此问题,但我认为这样做效率不高。 这在默认的Visual Studio 2017 ASP.NET Core Web应用程序(.NET Core)模板中发生。我通过右键单击wwwroot> js文件夹将文件添加到我的项目中,然后选择Add > New Item > JavaScript File 这是我的.csproj文件: <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <PropertyGroup> <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback> </PropertyGroup> <PropertyGroup> <UserSecretsId>aspnet-MyProject-7e1906d8-5dbd-469a-b237-d7a563081253</UserSecretsId> </PropertyGroup> <ItemGroup> <Compile Remove="wwwroot\lib\jquery-validation\**" /> <Content …

10
如何在ASP.NET Core中的任何类中访问Configuration?
我已经阅读了ASP.NET Core上的配置文档。文档说您可以从应用程序中的任何位置访问配置。 以下是模板创建的Startup.cs public class Startup { public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); if (env.IsEnvironment("Development")) { // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately. builder.AddApplicationInsightsSettings(developerMode: true); } builder.AddEnvironmentVariables(); Configuration …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.