标签: asp.net-core

.NET Core与ASP.NET Core

.NET Core和ASP.NET Core之间究竟有什么区别?

它们是互相排斥的吗?我听说asp.net核心是基于.net核心构建的,但也可以构建在完整的.net框架上.

那么ASP.NET Core到底是什么?

.net-core asp.net-core

126
推荐指数
5
解决办法
5万
查看次数

从.net核心中的appsettings.json获取价值

不知道我在这里缺少什么,但我无法从我的.net核心应用程序中的appsettings.json获取值.我的appsettings.json为:

{
    "AppSettings": {
        "Version": "One"
    }
}
Run Code Online (Sandbox Code Playgroud)

启动:

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"));
    }
}
Run Code Online (Sandbox Code Playgroud)

模型:

public class AppSettings
{
    public string Version{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

public class HomeController : Controller
{
    private readonly AppSettings _mySettings;

    public HomeController(IOptions<AppSettings> settings)
    {
        //This is always null
        _mySettings = settings.Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

_mySettings永远是空的.这里有什么我想念的吗?

c# asp.net-core-mvc asp.net-core

124
推荐指数
9
解决办法
16万
查看次数

发布到IIS,设置环境变量

阅读这两个问题/答案,我能够在IIS 8.5服务器上运行Asp.net 5应用程序.

Asp.net vNext早期测试版在Windows服务器上发布到IIS

如何配置MVC6应用程序在IIS上工作?

问题是,即使在IIS上运行,Web应用程序仍然使用env.EnvironmentNameDevelopment.

另外,我想在同一台服务器上运行同一个Web(Staging,Production)的两个版本,所以我需要一个方法来分别为每个Web设置变量.

这该怎么做?

iis asp.net-core-mvc visual-studio-2015 asp.net-core

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

ASP.NET Core返回带有状态代码的JSON

我正在寻找在我的.NET Core Web API控制器中使用HTTP状态代码返回JSON的正确方法.我用它像这样:

public IHttpActionResult GetResourceData()
{
    return this.Content(HttpStatusCode.OK, new { response = "Hello"});
}
Run Code Online (Sandbox Code Playgroud)

这是一个4.6 MVC应用程序,但现在随着.NET核心我似乎没有这个IHttpActionResult我已经ActionResult和使用这样的:

public ActionResult IsAuthenticated()
{
    return Ok(Json("123"));
}
Run Code Online (Sandbox Code Playgroud)

但是来自服务器的响应很奇怪,如下图所示:

在此输入图像描述

我只是希望Web API控制器返回带有HTTP状态代码的JSON,就像我在Web API 2中所做的那样.

c# json asp.net-core asp.net-core-webapi

119
推荐指数
6
解决办法
20万
查看次数

检测到不支持的 .Net Core 3.0 可能的对象循环

我有 2 个实体,它们是一对多相关的

public class Restaurant {
   public int RestaurantId {get;set;}
   public string Name {get;set;}
   public List<Reservation> Reservations {get;set;}
   ...
}
Run Code Online (Sandbox Code Playgroud)
public class Reservation{
   public int ReservationId {get;set;}
   public int RestaurantId {get;set;}
   public Restaurant Restaurant {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用我的 api 预订餐厅

   var restaurants =  await _dbContext.Restaurants
                .AsNoTracking()
                .AsQueryable()
                .Include(m => m.Reservations).ToListAsync();
    .....

Run Code Online (Sandbox Code Playgroud)

我收到错误响应,因为对象包含彼此的引用。有相关帖子建议创建单独的模型 或添加NewtonsoftJson 配置

问题是我不想创建单独的模型,第二个建议没有帮助。有没有办法在没有循环关系的情况下加载数据?*

System.Text.Json.JsonException: 检测到不支持的可能的对象循环。这可能是由于循环或对象深度大于最大允许深度 32。 at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerCycleDetected(Int32 maxDepth) at System.Text.Json.JsonSerializer.Write(Utf8JsonWriter writer , Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.JsonSerializer.WriteAsyncCore(Stream utf8Json, Object value, …

c# entity-framework-core asp.net-core

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

包含重复的"内容"项目..NET SDK默认包含项目目录中的"内容"项

每当我向我的asp.net核心项目添加javascript或css文件并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核心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 Remove="wwwroot\lib\jquery-validation\**" />
    <EmbeddedResource Remove="wwwroot\lib\jquery-validation\**" />
    <None Remove="wwwroot\lib\jquery-validation\**" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="wwwroot\css\BasicQuotation.css" />
    <Content Include="wwwroot\js\BasicQuotation.js" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-core-mvc asp.net-core

115
推荐指数
6
解决办法
4万
查看次数

ASP.Net Core中的JSON序列化/反序列化

既然没有JavaScriptSerializer,可以用什么原生实现来处理这个问题?

我注意到JsonResult,我可以使用它将数据格式化为JSON,但是如何反序列化?

或许我错过了一些依赖关系project.json

c# json asp.net-core

114
推荐指数
2
解决办法
14万
查看次数

InvalidOperationException:无法解析类型为"Microsoft.AspNetCore.Http.IHttpContextAccessor"的服务

我开始将我的asp.net核心RC1项目转换为RC2,并面临现在IHttpContextAccessor无法解决的问题.

为简单起见,我使用Visual Studio模板创建了新的ASP.NET RC2项目ASP.NET Core Web Application (.Net Framework).比我添加了HomeController的构造函数,为我创建了哪个模板.

public HomeController(IHttpContextAccessor accessor)
{
}
Run Code Online (Sandbox Code Playgroud)

在我开始申请后,我收到下一个错误:

InvalidOperationException:尝试激活"TestNewCore.Controllers.HomeController"时,无法解析类型"Microsoft.AspNetCore.Http.IHttpContextAccessor"的服务.Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)

在我的实际应用中,我需要解决IHttpContextAccessor我自己的服务类获得访问_contextAccessor.HttpContext.Authentication_contextAccessor.HttpContext.User.在RC1中,Everething运行良好.那么怎么能想到RC2呢?

.net dependency-injection asp.net-core

114
推荐指数
5
解决办法
5万
查看次数

访问ASP.NET Core中的当前HttpContext

我需要HttpContext在静态方法或实用程序服务中访问当前.

使用经典的ASP.NET MVC System.Web,我只是用来HttpContext.Current静态访问上下文.但是我如何在ASP.NET Core中执行此操作?

c# asp.net-core

113
推荐指数
6
解决办法
4万
查看次数

IIS上的ASP.NET Core 1.0错误502.5

我刚刚将我的服务器(Windows 2012R2)更新.Net Core 1.0 RTM为之前的Windows Hosting包.Net Core 1.0 RC2.我的应用程序在我的电脑上运行没有任何问题,但服务器一直显示:

HTTP Error 502.5 - Process Failure


Common causes of this issue:

The application process failed to start
The application process started but then stopped
The application process started but failed to listen on the configured port
Run Code Online (Sandbox Code Playgroud)

它之前使用过RC2版本.不知道会出现什么问题.

这是所有事件查看器说:

Failed to start process with the commandline 'dotnet .\MyWebApp.dll'. Error code = '0x80004005'.
Run Code Online (Sandbox Code Playgroud)

最糟糕的是应用程序日志是空的!我的意思是那些stdout_xxxxxxxxx.log文件是完全空的,并且都有0字节大小.

我该怎么办??如果没有记录错误,我怎么知道错误原因?

c# iis windows2012 asp.net-core

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