在开发人员的客户端计算机上托管开发版Web应用程序的一个舒适优势是可以轻松验证更改。
在传统的ASP.NET Web应用程序中,我通常会进行以下设置:IIS站点或IIS Web应用程序的物理路径指向ASP.NET Web应用程序的项目路径。
这使我能够进行更改,必要时重新编译,并在浏览器中点击刷新以立即看到我的更改的效果。
现在,如果我想要,我可以让IIS指向不同的路径并且发布 ASP.NET Web应用程序到每个更改的位置,更多繁琐的过程。
我更喜欢就地IIS设置以实现更快的周转,我想为ASP.NET Core提供相同的设置,但我还没弄清楚如何。据我所知,我至少可以做到以下几点:
这两个选项都有效,但情况合谋使得结果难以管理:我通常在客户端和服务上工作,而客户端经常涉及多个服务Web应用程序。因此,我通常需要同时运行多个Web应用程序,并且需要经常更新这些应用程序。
虽然IIS在我的经典ASP.NET应用程序中提供了这个机会,但我并没有继续使用它。任何其他实现平稳周转的方法都是可以接受的:)
那么,有什么提示吗?
-S
答案 0 :(得分:0)
好的,我在这个问题上称之为:这似乎不是一个可行的选择。
我会试一试:
在我的服务中,我接受了这篇文章中描述的运行网址:
dotnet run web site with specific url
powershell脚本使用 dotnet watch run 启动新控制台窗口中的服务列表:
$services = Get-Content .\services.json -Raw | ConvertFrom-Json;
foreach($serviCe in $services)
{
$expression = "cmd /c start powershell -Command {"
$expression += "Write-Host $($service.name) -ForegroundColor Yellow;"
$expression += "Write-Host $($service.urls) -ForegroundColor Yellow;"
$expression += "Set-Location $($service.path);"
$expression += "Invoke-Expression `"dotnet watch run --server.urls=$($service.urls)`";"
$expression += "sleep(10);"
$expression += "}"
Invoke-Expression $expression
sleep(1);
}
这是services.json,其中包含服务列表:
[
{
"name": "Products",
"path": "C:\\Services\\src\\Products",
"urls": "http://localhost:5000"
},
{
"name": "Customers",
"path": "C:\\Services\\src\\Customers",
"urls": "http://localhost:5001"
},
{
"name": "Statistics",
"path": "C:\\Services\\src\\Statistics",
"urls": "http://localhost:5002"
}
]