我的.NET Core 2.1项目具有以下文件夹结构:
AppData发布解决方案时,如何包含文件夹及其所有子文件夹和文件?
我尝试将其添加到.csproj文件,但没有成功:
<ItemGroup>
<Folder Include="AppData\*" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
编辑
我也尝试过,但没有成功:
<ItemGroup>
<Content Include="AppData\**" LinkBase="AppData" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud) 我想从我的.NET Core Web 应用程序(它由多个项目组成)创建一个使用Windows Authentication的容器。这是我的Dockerfile:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.1-sdk AS build
COPY Solution.sln ./
COPY Project1/*.csproj ./Project1/
COPY Project2/*.csproj ./Project2/
COPY Project3/*.csproj ./Project3/
COPY Project4/*.csproj ./Project4/
COPY Project5/*.csproj ./Project5/
RUN dotnet restore
COPY . .
WORKDIR /Project1
RUN dotnet build -c Release -o /app
WORKDIR /Project2
RUN dotnet build -c Release -o /app
WORKDIR /Project3
RUN dotnet build -c Release -o /app
WORKDIR /Project4
RUN dotnet build -c …Run Code Online (Sandbox Code Playgroud) 我正在 Docker Swarm 上运行服务。这是我为部署服务所做的:
docker swarm init
docker stack deploy -c docker-compose.yml MyApplication
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml 的内容:
version: "3"
services:
web:
image: myimage:1.0
ports:
- "9000:80"
- "9001:443"
deploy:
replicas: 3
resources:
limits:
cpus: "0.5"
memory: 256M
restart_policy:
condition: on-failure
Run Code Online (Sandbox Code Playgroud)
假设我更新了应用程序并构建了一个新图像myimage:2.0。在不停机的情况下将新版本的映像部署到服务的正确方法是什么?
我正在使用StackExchange.Redis从 .NET Core 连接到 Redis 服务器。如何将单例注入IConnectionMultiplexer另一个单例服务?
启动文件
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton<IConnectionMultiplexer>(ConnectionMultiplexer.Connect(GetRedisConnectionString()));
services.AddSingleton<IMyService>(new MyService(new DbContext(optionsBuilder.Options)), ???);
...
}
Run Code Online (Sandbox Code Playgroud)
我的服务.cs
private DbContext _dbContext;
private IConnectionMultiplexer _redis;
public MyService(DbContext dbContext, IConnectionMultiplexer redis)
{
_dbContext = fitDBContext;
_redis = redis;
}
Run Code Online (Sandbox Code Playgroud)
我需要放什么而不是放进???去ConfigureServices?还有其他方法吗?
StackExchange.Redis建议(链接)我们保存ConnectionMultiplexer.Connect(...)调用的返回值并重用它。因此,我为它创建了单例服务(它基于另一个StackOverFlow 问题)可以注入,但我没有任何运气将它注入另一个 SINGLETON 服务MyService。
c# dependency-injection redis stackexchange.redis asp.net-core