Я пытаюсь использовать Postal на моем сайте MVC5. Когда я разместить свой сайт дочерний сайт т.е. http://localhost/Subsite я получаю ошибкуИспользование почтовых ящиков и профайлов в подсайтах
- виртуальный путь «/» карты на другое приложение, которое не допускается
Я отлажена его вниз, когда Создается ControllerContext, HttpContext не устанавливается корректно. Поскольку я запускаю Postal from Hangfire, HttpContext.Current всегда имеет значение null. Postal создает ContollerContext, используя следующий код.
ControllerContext CreateControllerContext()
{
// A dummy HttpContextBase that is enough to allow the view to be rendered.
var httpContext = new HttpContextWrapper(
new HttpContext(
new HttpRequest("", UrlRoot(), ""),
new HttpResponse(TextWriter.Null)
)
);
var routeData = new RouteData();
routeData.Values["controller"] = EmailViewDirectoryName;
var requestContext = new RequestContext(httpContext, routeData);
var stubController = new StubController();
var controllerContext = new ControllerContext(requestContext, stubController);
stubController.ControllerContext = controllerContext;
return controllerContext;
}
string UrlRoot()
{
var httpContext = HttpContext.Current;
if (httpContext == null)
{
return "http://localhost";
}
return httpContext.Request.Url.GetLeftPart(UriPartial.Authority) +
httpContext.Request.ApplicationPath;
}
Как я могу указать UrlRoot так, что вместо того, чтобы тянуть значение по умолчанию локального хоста, чтобы тянуть это основано на моем дочернем?
Спасибо за это. Я получаю сообщение об ошибке (не могу преобразовать null в 'bool', потому что это тип значения, не допускающий значения null). Любая идея, почему это произойдет? – TsTeaTime