Vim*_*tan 5 .net c# wcf mvcmailer asp.net-mvc-4
我们正在创建一个应用程序,它将ASP.NET MVC4用于Web应用程序,而WCF用于访问公共数据存储的Web服务.
网络应用程序使用MvcMailer发送电子邮件,我希望有人可以指出一些资源,显示如何从WCF使用MvcMailer(如果所述资源存在).
我经历过:https://github.com/smsohan/MvcMailer/issues/44
我宁愿不滚动我自己的代码,但如果没有更好的解决方案,我愿意走这条路.
谢谢!
我是在 GitHub 上发布该问题的人。目前没有资源可以做到这一点,所以我必须自己弄清楚。这是我写给同事的小指南。我应该把它发布到网上的某个地方。
如何允许 MvcMailer 在 WCFService 中运行。
1)启用HttpContext
A) 将以下内容添加到您的 Web.Config
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
B) 将以下属性添加到您的服务类中。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
//public class MyService
//{
// ...
//}
Run Code Online (Sandbox Code Playgroud)
2) 启用剃须刀
A) 将以下内容添加到您的 Web.Config
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies>
<buildProviders>
<add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/>
</buildProviders>
</compilation>
</system.web>
Run Code Online (Sandbox Code Playgroud)
B) 将以下引用添加到 WCF 服务项目。
System.Web.WebPages
System.Web.WebPages.Razor
Run Code Online (Sandbox Code Playgroud)
C) 选择引用,右键单击,然后打开它们的“属性”。然后设置以下属性:
Copy Local = true
Run Code Online (Sandbox Code Playgroud)
完毕!MvcMailer 现在将在您的 WCF 服务中工作!