【发布时间】:2011-11-03 08:20:43
【问题描述】:
// 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);
}
我明白了:
值不能为空。参数名称:基本路径
在 System.Web.Util.UrlPath.Combine(String appPath, String basepath, 字符串相对)
在 System.Web.UI.WebControls.MailDefinition.CreateMailMessage(字符串 收件人、字典替换、控件所有者)
在 Damnation.Website.Main.Common.MailTemplating.Server.SendCreationMail(MembershipUser 用户、IServerAccountRequest 请求、控件所有者)
在 Damnation.Website.Main.Common.MailTemplating.Server.SendCreationMail(IServerAccountRequest 请求)
在 Damnation.Website.Main.Business.Model.ServerAccountRequest.UpdateRequestsAfterServerProcessing(IEnumerable`1 结果)
问题是我没有要传递给它的实际控件,我想知道如何设置一个控件来避免这种无意义的异常。我使用的是相对路径...所以这没有任何意义。
拥有该服务的应用程序在 ASP.NET WebForms .NET 4 下。消费者应用程序是一个控制台应用程序,也在 .NET 4 下
【问题讨论】: