![](/img/trans.png)
[英]How to pass array of datetime from vue.js to an ASP.NET Core API?
[英]Asp.Net Core Web Api and Vue.js client with IIS
我正在嘗試創建一個以 Asp.Net Core (.NET 6.0) 作為后端,以 Vue.js 作為前端的應用程序。 我在 Visual Studio 2022 中創建了 .NET 項目,添加了 SPA 擴展,最后我的 Program.cs 文件如下所示:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
// Used by single page application requirements.
builder.Services.AddSpaStaticFiles(options =>
{
options.RootPath = "wwwroot";
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.UseStaticFiles();
if (!app.Environment.IsDevelopment())
{
app.UseSpaStaticFiles();
}
app.UseSpa(configuration =>
{
configuration.Options.SourcePath = "wwwroot";
if (app.Environment.IsDevelopment())
{
configuration.UseProxyToSpaDevelopmentServer("http://localhost:5002");
}
});
app.Run();
使用設置部署代碼:
Release
net6.0
框架win-x64
運行時為我生成一個包含 wwwroot 文件夾的文件夾,其中包含前端文件和我的后端應用程序的許多文件。 我將它們放在 iis 服務器內的應用程序中,應用程序池配置為:
但是我的應用程序只能加載 index.html 文件而不能加載 any.js 或 .css。
我的應用程序具有這樣的綁定: https://app.domain.it/app-name她每次都嘗試打開https://app.domain.it/filename.ext文件,但失敗了,因為文件位於https://app.domain.it/app-name/wwwroot/file.ext他正在搜索https://app.domain.it/file.ext
任何人都可以幫助我嗎?
編輯 1:因為我選擇了獨立模式,所以我不需要在服務器主機上安裝 .NET 6 運行時,對吧?
我的建議是創建兩個不同的應用程序池,然后分別將 .net 核心解決方案部署為您的 API (a) 並將 vue-app 作為您的 UI (b)。
(a) 標准部署,既沒有對 UI 項目的項目引用,也沒有關於 Static 和默認文件的管道配置( app.UseStaticFiles(); app.UseDefaultFiles(); 不是必需的)
(b) 在 VS 中右鍵單擊 vue 項目並“在終端中打開”-> 然后npm 運行構建-> 然后 go 到 dist 文件夾並將內容復制到 IIS 上相應應用程序池的物理路徑
解決方案對我有用。 讓我知道它是否也適合您,如果您有任何問題。 希望我能幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.