// stuff......
return SendCreationMail(Membership.GetUser((Guid)request.UserEntityId), request, new Control());
}
private const string TemplateRoot = "~/app_shared/templates/mail/";
private const string ServerRoot = TemplateRoot + "server/";
public static bool SendCreationMail(MembershipUser user, IServerAccountRequest request, Control owner)
{
var definition = new MailDefinition { BodyFileName = string.Concat(ServerRoot, "creation.htm"), IsBodyHtml = true };
var subject = "New {0} account created!".FormatWith(request.ServerApplicationContract.Id);
var data = ExtendedData(DefaultData, subject, user);
data.Add("<%ServerApplication%>", request.ServerApplicationContract.Id);
data.Add("<%ServerApplicationName%>", request.ServerApplicationContract.ApplicationName);
data.Add("<%AccountUsername%>", request.AccountUsername);
data.Add("<%ServerInfo%>", "/server/{0}/info".FormatWith(request.ServerApplicationContract.Id.ToLower()));
return definition.CreateMailMessage(user.Email, data, owner).Send(subject, ApplicationConfiguration.MailSenderDisplayName);
}
Я получаю:
Значение не может быть нулевым.Имя параметра: basepath
в System.Web.Util.UrlPath.Combine (String appPath, String basepath, String относительный)
в System.Web.UI.WebControls.MailDefinition.CreateMailMessage (строковые получатели, IDictionaryЗамены, владелец элемента управления)
в Damnation.Website.Main.Common.MailTemplating.Server.SendCreationMail (пользователь MembershipUser, запрос IServerAccountRequest, владелец элемента управления)
в Damnation.Website.Main.Common.MailTemplating.Crever.ServerЗапрос IServerAccountRequest)
на Damnation.Website.Main.Business.Model.ServerAccountRequest.UpdateRequestsAfterServerProcessing (результаты IEnumerable`1)
Дело в том, что у меня нет фактического элемента управления для передачи ему,Я хотел бы знать, как настроить элемент управления, чтобы избежать этого бессмысленного исключения.Я использую относительный путь ... так что это не имеет смысла.
Приложение, имеющее службу, находится под ASP.NET WebForms .NET 4. Потребительское приложение является консольным приложением также под .NET 4