在WCF中使用MvcMailer

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

我宁愿不滚动我自己的代码,但如果没有更好的解决方案,我愿意走这条路.

谢谢!

smd*_*ger 2

我是在 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 服务中工作!