Web API で MvcMailer を使用しようとしていますが、立ち往生しています!!! 次のエラーが表示されます。usermailer と view の間のルーティングと関係があると思います。ビューが見つからないことがわかりましたが、間違っている可能性があります。どんな助けでも感謝します。
ありがとう
エラー:
Value cannot be null.Parameter name: routeData
スタックトレース:
at System.Web.Routing.RequestContext..ctor(HttpContextBase httpContext, RouteData routeData)
at System.Web.Mvc.ControllerContext..ctor(HttpContextBase httpContext, RouteData routeData, ControllerBase controller)
at Mvc.Mailer.MailerBase.CreateControllerContext()
at Mvc.Mailer.MailerBase.ViewExists(String viewName, String masterName)
at Mvc.Mailer.MailerBase.TextViewExists(String viewName, String masterName)
at Mvc.Mailer.MailerBase.PopulateBody(MailMessage mailMessage, String viewName, String masterName, Dictionary`2 linkedResources)
at Mvc.Mailer.MailerBase.Populate(Action`1 action)
at App.Api.Mailers.UserMailer.NewCandidate() in e:\VS2013 Projects\App.Api\Mailers\UserMailer.cs:line 15
at App.Api.Controllers.CandidatesController.Get() in e:\VS2013 Projects\App.Api\Controllers\CandidatesController.cs:line 31
コントローラ:
private readonly UserMailer _mailer = new UserMailer();
[Authorize]
[Route("")]
[HttpPost]
// POST api/requests
public HttpResponseMessage Post(Candidate candidate)
{
_repository.CandidateRepository.Insert(candidate);
_repository.Save();
_mailer.NewCandidate().Send();
return Request.CreateResponse(HttpStatusCode.OK, candidate);
}
UserMailer クラス:
public class UserMailer : MailerBase, IUserMailer
{
public UserMailer()
{
MasterName="_Layout";
}
public virtual MvcMailMessage NewCandidate()
{
//ViewBag.Data = someObject;
return Populate(x =>
{
x.Subject = "NewCandidate";
x.ViewName = "NewCandidate";
x.To.Add("test@test.test");
});
}
}
フォルダ構造:
ありがとう