2013-03-13 15 views
5

Tworzymy aplikację wykorzystującą ASP.NET MVC4 dla aplikacji internetowej i WCF dla serwisów internetowych, które mają dostęp do wspólnego magazynu danych.przy użyciu MvcMailer w WCF

Aplikacja internetowa wysyłająca e-maile za pomocą MvcMailera, miałem nadzieję, że ktoś może wskazać mi pewne zasoby, które pokazują, w jaki sposób MvcMailer może być używany również z WCF (jeśli wspomniane zasoby istnieją).

Poszedłem przez: https://github.com/smsohan/MvcMailer/issues/44

Wolałbym nie toczyć mój własny kod, ale jestem gotów iść tą drogą, jeśli nie ma lepszego rozwiązania.

Dzięki!

Odpowiedz

2

Byłem facetem, który opublikował ten numer na GitHub. W tej chwili nie ma żadnych zasobów, więc musiałem sam to rozgryźć. Oto mały przewodnik, który napisałem do moich współpracowników. Powinienem go gdzieś opublikować.

Jak zezwolić na działanie MvcMailer w WCFService.

1) Włącz HttpContext

a) dodać następujące do pliku web.config

<system.serviceModel> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" /> 
</system.serviceModel> 

b) Dodać następujący atrybut do klasy usług.

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
//public class MyService 
//{ 
// ... 
//} 

2) Włącz Razor

A) Dodaj następujące wpisy do pliku 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) Dodać następujące odniesienia do projektu usług WCF.

System.Web.WebPages 
System.Web.WebPages.Razor 

C) Wybierz odniesienia, kliknij prawym przyciskiem myszy i otwórz Właściwości dla nich. Następnie ustaw następującą właściwość:

Gotowe! MvcMailer będzie teraz działał w twojej usłudze WCF!

+0

To zadziałało dla mnie. Ty, panie, jesteś legendą! – soupy1976

+0

Cieszę się, że mogę pomóc. – smdrager

Powiązane problemy