5

我们正在创建一个应用程序,它使用 ASP.NET MVC4 的 Web 应用程序和 WCF 的访问公共数据存储的 Web 服务。

Web 应用程序使用 MvcMailer 发送电子邮件,我希望有人可以向我指出一些资源,这些资源也显示了如何从 WCF 使用 MvcMailer(如果存在上述资源)。

我经历过:https ://github.com/smsohan/MvcMailer/issues/44

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

谢谢!

4

1 回答 1

2

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

于 2013-07-09T13:28:20.317 回答