我们正在创建一个应用程序,它使用 ASP.NET MVC4 的 Web 应用程序和 WCF 的访问公共数据存储的 Web 服务。
Web 应用程序使用 MvcMailer 发送电子邮件,我希望有人可以向我指出一些资源,这些资源也显示了如何从 WCF 使用 MvcMailer(如果存在上述资源)。
我经历过:https ://github.com/smsohan/MvcMailer/issues/44
我宁愿不推出自己的代码,但如果没有更好的解决方案,我愿意走这条路。
谢谢!
我们正在创建一个应用程序,它使用 ASP.NET MVC4 的 Web 应用程序和 WCF 的访问公共数据存储的 Web 服务。
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>
B) 将以下属性添加到您的服务类。
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
//public class MyService
//{
// ...
//}
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>
B) 将以下引用添加到 WCF 服务项目。
System.Web.WebPages
System.Web.WebPages.Razor
C) 选择引用,右键单击并打开它们的属性。然后设置以下属性:
Copy Local = true
完毕!MvcMailer 现在将在您的 WCF 服务中工作!