从应用程序清单中删除AppRole会产生400错误请求,并显示错误消息
除非先禁用属性值,否则不能将其删除。
当我将isEnabled属性设置为false并单击保存时,通过查看浏览器开发人员工具,可以得到200 OK的成功保存:
重新加载“编辑清单”屏幕后,该isEnabled属性仍然true保持不变,如果您在浏览器开发人员工具中查看PUT响应,则该属性也将返回true。
如何删除一个appRole,而不必删除并重新创建整个应用程序?
我提出了以下错误。
azure azure-active-directory azure-ad-graph-api azure-ad-powershell-v2
我有一个ASP.NET应用程序的核心连接到使用数据库Integrated Security=True连接字符串中,从而使运行该应用程序的用户的凭据用于连接到数据库,这样我就不必添加用户名和密码User Id=username;Password=password在连接字符串.
如何使用我的域中的用户帐户运行上述应用程序的Docker容器.这是我能做的事情吗?如果是这样,它仍然是推荐的方法吗?这似乎可以使用Windows容器但是linux呢?
connection-string runas integrated-security docker asp.net-core
在Docker Swarm中,您可以设置最大系统要求,如下所示:
my-service
image: hello-world
deploy:
resources:
limits:
cpus: '2'
memory: 4GB
Run Code Online (Sandbox Code Playgroud)
我有一个容器,其最低系统要求是2个CPU内核和4GB RAM,这是我的Docker Swarm中节点的确切大小.这意味着当此容器运行时,它必须是该节点上运行的唯一容器.
但是,当我将容器与其他容器一起运行时,其他容器将放置在同一节点上.如何确保Docker为此容器提供最低级别的CPU和RAM?
我reservations按照@yamenk的建议添加了,但是我仍然在同一节点上启动其他容器,这会导致我试图保护的容器出现性能问题:
my-service
image: hello-world
deploy:
resources:
reservations:
cpus: '2'
memory: 4GB
Run Code Online (Sandbox Code Playgroud) 如何在保持公共接口的同时进一步提高以下代码的性能:
public interface IMapper<in TSource, in TDestination>
{
void Map(TSource source, TDestination destination);
}
public static TDestination Map<TSource, TDestination>(
this IMapper<TSource, TDestination> translator,
TSource source)
where TDestination : new()
{
var destination = new TDestination();
translator.Map(source, destination);
return destination;
}
public static List<TDestination> MapList<TSource, TDestination>(
this IMapper<TSource, TDestination> translator,
List<TSource> source)
where TDestination : new()
{
var destinationCollection = new List<TDestination>(source.Count);
foreach (var sourceItem in source)
{
var destinationItem = translator.Map(sourceItem);
destinationCollection.Add(destinationItem);
}
return destinationCollection;
}
Run Code Online (Sandbox Code Playgroud)
public class MapFrom …Run Code Online (Sandbox Code Playgroud) 我在我的ASP.NET Core SPA中使用命名路由,如下所示:
[HttpGet("", Name = HomeControllerRouteName.GetIndex)]
public IActionResult Index() => this.View();
Run Code Online (Sandbox Code Playgroud)
在我Startup.cs使用该MapSpaFallbackRoute方法回退到单页面应用程序以显示404错误页面.它目前使用控制器和操作名称来确定后备路由,如下所示:
application.UseMvc(
routes =>
{
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});
Run Code Online (Sandbox Code Playgroud)
Startup.cs为了保持一致性,我想在命令路由中使用命名路由.怎么能实现这一目标?
asp.net asp.net-mvc-routing single-page-application asp.net-core-mvc asp.net-core
当您在 ASP.NET Core 站点上的 Visual Studio 中单击“添加 Docker 支持”时,这是默认的多阶段 Dockerfile。
FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY WebApplication1.sln ./
COPY WebApplication1/WebApplication1.csproj WebApplication1/
RUN dotnet restore
COPY . .
WORKDIR /src/WebApplication1
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
Run Code Online (Sandbox Code Playgroud)
为什么他们选择使用四个阶段,开始和结束base阶段。另外,为什么要publish使用相同的build基本图像创建舞台。为什么 Dockerfile 看起来不像三个阶段:
FROM microsoft/aspnetcore-build:2.0 …Run Code Online (Sandbox Code Playgroud) 我想在 Kubernetes 中使用 Cloudflare 的1.1.1.1 和 1.0.0.1名称服务器,以及DNS over TLS。它看起来像我可以用做核心的DNS。我需要以某种方式设置以下内容:
1.1.1.1和1.0.0.12606:4700:4700::1111和2606:4700:4700::1001tls.cloudflare-dns.com我应该是什么ConfigMap样子?我已经在下面开始了:
apiVersion: v1
kind: ConfigMap
data:
upstreamNameservers: |
["1.1.1.1", "1.0.0.1"]
Run Code Online (Sandbox Code Playgroud) 对于IDisposable,我经常使用抽象基类,因为实现它非常困难。主要是因为您可以使用该接口来处理托管和非托管引用,并且每个引用的处理方式都不同。
public abstract class Disposable : IDisposable
{
~Disposable() => this.Dispose(false);
public bool IsDisposed { get; private set; }
public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void DisposeManaged() {}
protected virtual void DisposeUnmanaged() {}
protected void ThrowIfDisposed()
{
if (this.IsDisposed)
{
throw new ObjectDisposedException(this.GetType().Name);
}
}
private void Dispose(bool disposing)
{
if (!this.IsDisposed)
{
if (disposing)
{
this.DisposeManaged();
}
this.DisposeUnmanaged();
this.IsDisposed = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用IAsyncDisposable,我找不到参考实现。另外,我相信它只处理托管资源,主要是因为它太新了,并且没有需要异步处理的非托管资源。这样对吗?如果是这样,那么实现是微不足道的吗?
我将 ASP.NET Core 3.0 与 Swashbuckle 5 一起使用。我正在尝试在 ASP.NET Core 3.0 中编写一个ISchemaFilterfor ProblemDetails。ProblemDetails返回许多不同的状态代码,例如 400、401、403、406、415、500 等。我想提供一个ProblemDetails取决于状态代码的不同示例。我怎样才能做到这一点?这是我为开始编写的一些代码,只需要填写空白:
public class ProblemDetailsSchemaFilter : ISchemaFilter
{
private static readonly OpenApiObject Status400ProblemDetails = new OpenApiObject()
{
["type"] = new OpenApiString("https://tools.ietf.org/html/rfc7231#section-6.5.1"),
["title"] = new OpenApiString("Bad Request"),
["status"] = new OpenApiInteger(StatusCodes.Status400BadRequest),
["traceId"] = new OpenApiString("00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"),
["errors"] = new OpenApiObject()
{
["property1"] = new OpenApiArray()
{
new OpenApiString("The property field is required"),
},
},
};
private static readonly OpenApiObject Status401ProblemDetails = new …Run Code Online (Sandbox Code Playgroud) 我有一个针对 .NET Core 和 .NET Framework 进行编译的 NuGet 包库项目。它还使用新的公共签名。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Build">
<TargetFrameworks>netstandard2.0;net472</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Label="Signing">
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>../../Key.snk</AssemblyOriginatorKeyFile>
<PublicSign>true</PublicSign>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我有一个 xUnit 测试项目,使用它也可以交叉编译到 .NET Core 和 .NET Framework。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Build">
<TargetFrameworks>netcoreapp3.1;net472</TargetFrameworks>
</PropertyGroup>
<ItemGroup Label="Package References">
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
</ItemGroup>
<ItemGroup Label="Project References">
<ProjectReference Include="..\..\Source\Foo\Foo.csproj" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
当我在此项目中运行测试时,.NET Core 测试运行成功,但 .NET Framework 测试运行失败,并显示:
System.IO.FileLoadException:无法加载文件或程序集“Foo,Version=0.0.1.0,Culture=neutral,PublicKeyToken=fc5550082a9c642c”或其依赖项之一。无法验证强名称签名。该程序集可能已被篡改,或者已延迟签名但未使用正确的私钥完全签名。(HRESULT 异常:0x80131045)
我怎样才能让他们都工作?
asp.net-core ×4
.net ×3
c# ×3
docker ×3
.net-core ×2
allocation ×1
asp.net ×1
azure ×1
cloudflare ×1
coredns ×1
dns ×1
docker-swarm ×1
dockerfile ×1
idisposable ×1
kubernetes ×1
nameservers ×1
openapi ×1
openapi.net ×1
performance ×1
runas ×1
strongname ×1
swagger ×1
swashbuckle ×1
unchecked ×1
xunit ×1