34.4 二级虚拟目录部署
34.4.1 关于二级虚拟目录
通常我们的站点都是部署在网站的根目录下的,但是有些时候,我们可能将网站根目录下的目录作为二级站点或子站点,这个时候,就会出现 404
错误了。
这个时候就需要进行一些特殊配置了。
34.4.2 针对在 IIS
网站下添加 Application
情况
版本说明
以下内容仅限 Furion 3.2.0 +
版本使用。
如果网站是在 Site
下面添加 Application
下部署,则遵循以下步骤:
- 添加
Application Pool
应用程序池,并设置为非托管模式
- 添加
Application
并选择刚刚创建的应用程序池
- 添加应用配置:
{
"SpecificationDocumentSettings": {
"ServerDir": "IIS中应用程序名(Applicaiton)"
}
}
该配置主要是解决 Swagger
出现 404
问题。
个别情况
如果配置之后还 Swagger
还出现不能加载 swagger.json
文件问题,那么需修改启动注册代码:
app.UseInject(string.Empty); // 确保参数是 strng.Empty
34.4.3 针对非 IIS
下部署情况
注意事项
这里是针对 非 IIS
部署使用的!! !
34.4.3.1 配置 AppSettings
我们只需要配置 AppSettings
即可:
{
"AppSettings": {
"VirtualPath": "/虚拟目录"
}
}
34.4.3.2 .NET6 WebApplication 模式下虚拟目录配置
版本说明
以下内容仅限 Furion 3.2.0 +
版本使用。
由于在 .NET6
的 WebApplication
模式下微软底层发生了改变,所以需要使用 app.UseVirtualPath()
包裹 app.UseInject()
和 app.MapRouteControllers()
:
app.UseVirtualPath(app =>
{
app.UseInject(String.Empty); // 注意 String.Empty 只是例子,可以不填或填其他的,见一分钟入门
app.MapRouteControllers();
});
注意,app.MapRouteControllers()
是替换 app.MapControllers()
的!
34.4.4 反馈与建议
与我们交流
给 Furion 提 Issue。