我目前正在使用ASP.NET Core 2.x,我曾经能够让Kestrel使用HTTPS/SSL,只需将其放入UseUrls()方法中即可:
var host = new WebHostBuilder()
.UseUrls("http://localhost", "https://111.111.111.111")
.UseKestrel()
.Build();
Run Code Online (Sandbox Code Playgroud)
但现在我得到了例外:
System.InvalidOperationException:
HTTPS endpoints can only be configured using KestrelServerOptions.Listen().
Run Code Online (Sandbox Code Playgroud)
如何配置Kestrel在ASP.NET Core 2.x中使用SSL?
我见过很多使用默认AddMvc()服务的ASP.NET Core Web API项目,但没有意识到AddMvcCore()由于对服务的控制,使用是一种优越的选择.
究竟如何实现通过使用ASP.NET核心的Web API AddMvcCore()和它为什么好?
最近我开始阅读有关.NET重组细节的信息(主要是通过.NET Core github页面).它接缝他们创建了兄弟项目以支持更多平台.在阅读时我的印象是CoreCLR和CoreRT是一个新的OpenSource版本的专有Roslyn编译器.CoreRT提供本机(AOT)编译.而LLILC是一种备选实现指挥LLVM框架.
任何人都可以从用户角度确认和描述这些项目的差异和目标吗?为什么有人会在未来使用Roslyn而不是CoreCLR?
我正在将我的代码从 .NET Core 2.x 转移到 .NET Core 3.x(即使用本机库System.Text.Json)。在这样做时,我遇到了一些问题,因为以前Newtonsoft.Json对可空枚举的支持目前没有明确的迁移路径——看起来 .NET Core 3.x 不支持它?。
例如,使用Newtonsoft.Json,JSON 转换器支持可为空的枚举,如下所示:
public enum UserStatus
{
NotConfirmed,
Active,
Deleted
}
public class User
{
public string UserName { get; set; }
[JsonConverter(typeof(StringEnumConverter))] // using Newtonsoft.Json
public UserStatus? Status { get; set; } // Nullable Enum
}
Run Code Online (Sandbox Code Playgroud)
本机库的当前版本
System.Text.Json,似乎不支持这一点。
我该如何解决这个问题?我无法迁移我的代码!
我正在ASP.NET CORE 1.0上构建REST API.在生产中,IMHO非常有用,不使用JIT,因为带有应用程序的docker容器正在向上和向下扩展,在CI期间反复重新部署,因此每个已部署容器的即时编译会导致可怕的滞后,LB健康检查死亡和其他痛苦.
在我阅读时,使用dotnet CLI的本机编译已停止.我尝试使用CoreRT进行构建,但没有运气(由于复杂性需求的详细信息).
由于这个问题非常抽象,我不提供示例代码或详细信息,所以一开始几乎没有问题:
(目标平台将是ubuntu-14.04-x64 docker镜像以及编译平台.出于开发目的,在OSX上编译它也很不错.)
先感谢您.
在Visual Studio 2017中,当我想使用以下任一标准.NET Core项目模板从头创建ASP.NET Core Web应用程序时:
这些项目模板; 显然不会包含该wwwroot文件夹.因此,当我将文件夹添加到我的项目时,它看起来像(并且表现得像)一个标准文件夹:
使用ASP.NET Core Web Application项目模板创建它时 ,该wwwroot文件夹如下所示:
问题 - 外观(图标)
如何将
wwwroot文件夹的图标更改为ASP.NET Core Web Application项目模板中的图标?
其他问题 - 行为(将文件复制到输出目录)
在标准.NET Core项目中,我必须将其添加到我的.csproj文件中:
<ItemGroup>
<Content Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
这样它就可以将我的所有文件从wwwroot文件夹复制到输出目录,类似于ASP.NET Core Web Application项目.我查看了ASP.NET核心Web应用程序的.csproj文件,但没有看到类似的东西.
我假设主要问题的答案也将为此提供答案,因为项目模板明显不同.我似乎无法在线找到资源来帮助我自己手动编辑.
提前致谢.
我在ASP.NET Core v2.0中使用RazorPages,我想知道是否有人知道如何强制AnchorTagHelper使用小写?
例如,在我的.cshtml标记中,我将使用asp-page标记帮助程序获得以下锚标记:
<a asp-page="/contact-us">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)
我正在寻找的输出
// i want this
<a href="/contact-us">Contact Us</a>
// i get this
<a href="/Contact-us">Contact Us</a>
Run Code Online (Sandbox Code Playgroud)
为了更好地说明为什么这对我的网络应用程序很重要,请想象一下你会在stackoverflow.com上看到的长网址.
https://stackoverflow.com/questions/anchortaghelper-asp-page-to-use-lowercase
-- VS --
https://stackoverflow.com/Questions/Anchortaghelper-asp-page-to-use-lowercase
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
我看过这些其他参考文献,但没有运气:
只是为了好玩,今天早些时候我的一位同事问我是否可以尝试制作一个使用ASP.NET Core回应请求的小型WebAPI.我能够在大约70行代码中完成WebAPI.一切都归功于ASP.NET Core令人惊叹!所以,这就是我到目前为止的结果.
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using System;
using System.Linq;
namespace TinyWebApi
{
class Program
{
static readonly IWebHost _host;
static readonly string[] _urls = { "http://localhost:80" };
static Program()
{
IConfiguration _configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
_host = BuildHost(new WebHostBuilder(), _configuration, _urls);
}
static void Main(string[] args)
{
_host.Run();
}
static IWebHost BuildHost(
IWebHostBuilder builder, IConfiguration configuration, params string[] urls)
{
return …Run Code Online (Sandbox Code Playgroud) 我正在看这个代码示例C# 7.0,我不确定引擎盖下发生了什么以及这个循环的性能.
foreach (var c in text ?? throw new ArgumentNullException(nameof(text)))
{
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
我不是 100% 的,所以我需要专家的意见。
ConcurrentQueue<object> queue = new ConcurrentQueue<object>();
List<object> listA = queue.ToArray().ToList(); // A
List<object> listB = queue.ToList(); // B
Run Code Online (Sandbox Code Playgroud)
我知道该ToArray()方法会复制一份(因为它是 内的一个内部方法ConcurrentQueue),但是ToList()直接调用该方法会做同样的事情吗?
简单地说,将代码从 A 重构到 B 是否安全?
c# ×8
asp.net-core ×4
.net-core ×3
corert ×2
.net ×1
.net-native ×1
c#-7.0 ×1
clr ×1
compilation ×1
concurrency ×1
coreclr ×1
https ×1
linq ×1
razor-pages ×1
roslyn ×1
ssl ×1