2013-03-13 63 views
5

我們正在創建一個應用程序,該應用程序將ASP.NET MVC4用於Web應用程序,將WCF用於訪問公共數據存儲的Web服務。在WCF中使用MvcMailer

網絡應用程序使用MvcMailer發送電子郵件,我希望有人能指點我一些資源,展示如何從WCF使用MvcMailer(如果存在上述資源)。

我已經經歷了:https://github.com/smsohan/MvcMailer/issues/44

我寧願不推出自己的代碼,但我願意,如果沒有更好的解決辦法來走這條路。

謝謝!

回答

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服務中工作!

+0

這對我有用。你,先生,是一個傳奇! – soupy1976 2013-10-01 11:26:05

+0

很高興我能幫上忙。 – smdrager 2013-10-03 15:38:31