今天我有一个问题,这是其中一个问题,你一直想知道但你总是害怕问;)但是这个问题也与 BlazorWebAssembly 应用程序 docker 支持相关。所以也许我会描述我做了什么。
所以我确实想玩一点尖端 blazor,当然还有 .NET 5.0(我的最后一个“尖端技术”是 ASP.NET MVC - 所以是的,已经有一段时间了:))
一开始我不太清楚那些与 Blazor 相关的选项是做什么用的。所以我选择了:
您可以发现,“启用 Docker 支持”选项是灰色的。所以就像“docker支持问题预览”:)
我不知道什么选项:“ASP.NET Core 托管”代表,所以我没有使用它(这是一个错误)一旦您选中此选项,它将创建一个服务器应用程序,一个客户端(Blazor)一个和一个共享(这是为了他们之间的模型目的)
我不知道,所以我必须添加我自己的 WebApi 项目和模型的一些项目:)
现在,下一步是添加 docker 支持(令人惊讶的是这是可能的)
这创建了一个 docker 文件:
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["BlazorApp/BlazorApp.csproj", "BlazorApp/"]
COPY ["../SearchMovies.Model/SearchMovies.Model.csproj", "../SearchMovies.Model/"]
RUN dotnet restore "BlazorApp/BlazorApp.csproj"
COPY . .
WORKDIR "/src/BlazorApp"
RUN …Run Code Online (Sandbox Code Playgroud) 我被卡住了,也许你可以帮助我。(更新:经过调查,我知道它不起作用,因为构建/发布后 Azure 函数的 wwwroot 文件夹是空的。主要问题是为什么)
我正在尝试使用 Azure Container Registry (Linux) 发布 Azure Function 这一步我认为我成功了。我确实创建了 CI/CD 管道,并且所有内容都正确发布。
当我进入我的 azure 函数主页时,如:https : //myAzureFuncion.azurewebsites.net/(这只是示例)
我确实看到:
在开始时函数本身。这没什么特别的,因为我只是想测试 CI/CD 所以它是 AF 模板。我只是将授权更改为匿名(以排除身份验证问题):
[FunctionName("MyAzureFunctionName")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request. Runned!");
string name = req.Query["name"];
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
name = name ?? data?.name;
return name != null
? (ActionResult)new …Run Code Online (Sandbox Code Playgroud) azure docker azure-devops azure-functions azure-container-registry