工单系统:自定义端口配置与CORS启用方案问询
工单系统端口修改与CORS启用解决方案
一、修改前后端自定义端口
1. ASP.NET Core Web API后端端口修改
三种常用配置方式:
- 修改launchSettings.json(开发环境)
找到项目根目录Properties/launchSettings.json,修改applicationUrl字段为自定义端口:
"profiles": { "YourApiProject": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:7089;http://localhost:5089", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } }
- Program.cs硬编码(生产环境)
在Program.cs中通过UseUrls指定端口:
var builder = WebApplication.CreateBuilder(args); // 其他服务注册... builder.WebHost.UseUrls("https://localhost:7089", "http://localhost:5089"); var app = builder.Build(); // 中间件配置... app.Run();
- 命令行启动指定端口
启动时附加--urls参数:
dotnet run --urls "https://localhost:7089;http://localhost:5089"
2. WPF MVVM前端配置(后端地址适配)
WPF作为桌面客户端无服务端口,需修改API调用地址:
- 添加
appsettings.json配置文件存储后端地址:
{ "ApiSettings": { "BaseUrl": "https://localhost:7089/api/" } }
- 在ViewModel中读取配置并调用API:
var config = new ConfigurationBuilder() .SetBasePath(AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json") .Build(); var baseUrl = config.GetSection("ApiSettings:BaseUrl").Value; using var client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); var response = await client.GetAsync("tickets");
二、启用CORS跨域功能
ASP.NET Core Web API后端配置
- 注册CORS服务
在Program.cs中添加CORS策略,按需配置允许的源、方法和头部:
var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy("AllowWpfClient", policy => { policy.WithOrigins("*") // 允许所有源(生产环境建议指定具体地址) .AllowAnyHeader() .AllowAnyMethod(); // 如需允许凭证(如Cookie),添加 .AllowCredentials() }); }); builder.Services.AddControllers();
- 启用CORS中间件
将CORS中间件放在UseRouting之后、UseAuthorization之前:
var app = builder.Build(); // 其他中间件... app.UseRouting(); app.UseCors("AllowWpfClient"); app.UseAuthorization(); app.MapControllers(); app.Run();
WPF前端注意事项
- 纯WPF客户端使用
HttpClient调用API不受浏览器同源策略限制,但若后端CORS策略限制源,需确保请求来源被允许。 - 若使用WebView控件加载网页并调用API,需将WebView的页面地址加入后端CORS允许的源列表。
内容的提问来源于stack exchange,提问作者DayInShiningArmor
相关产品推荐
相关产品推荐

