在已经部署了我们的应用程序,其中包括迟发型UI,在客户environement我们注意到迟发型UI不能正常工作。 后端,这也暴露了迟发型UI用于测试目的的URL是https://开头根 /服务/应用程序的API 。
我们注册迟发型UI有:
public static void UseHangfireDashboard(this IAppBuilder app, bool enableForLocalhost, string enabledAppRoleNames)
{
var authorizationFilters = new List<IDashboardAuthorizationFilter>();
if (enableForLocalhost)
{
authorizationFilters.Add(new LocalRequestsOnlyAuthorizationFilter());
}
if (!string.IsNullOrWhiteSpace(enabledAppRoleNames))
{
string[] authorizedRoleNames = enabledAppRoleNames.Split(new[] { ROLES_SEPARATOR }, StringSplitOptions.RemoveEmptyEntries)
.Select(appRole => appRole.Trim())
.ToArray();
authorizationFilters.Add(new HangfireDashboardAuthorizeByAppRoleNamesFilter(authorizedRoleNames));
}
app.UseHangfireDashboard("/hangfire", new DashboardOptions { Authorization = authorizationFilters });
}
因此迟发型UI进行访问的https://开头根 /服务/应用程序的API /迟发型
但它无法加载所需的CSS和JS文件,因为它试图从让他们https://开头根 /迟发型/ ...所有的链接被打破,因为同样的原因也是如此。
我一直无法弄清楚如何告诉迟发型使用正确的URL。
我检查了以下链接:
https://discuss.hangfire.io/t/dashboard-url-issues-when-deployed-below-site-root/598 http://source.technology/hangfire-authentication
- VirtualPathUtility.ToAbsolute(VirtualPathUtility.ToAbsolute(“〜/迟发型”))信息:System.Web.HttpException:“应用程序相对虚拟路径‘〜/迟发型’不能进行绝对的,因为对应用程序的路径是不知道”。
-当试图设置用于测试目的的绝对路径(app.UseHangfireDashboard( "http://<absolutePath>/hangfire", new DashboardOptions { Authorization = authorizationFilters }
我得到System.ArgumentException:“路径必须先从” /“后跟一个或多个字符。”