Ero il ragazzo che ha pubblicato quel problema su GitHub. Non ci sono risorse in questo momento per farlo, quindi ho dovuto capirlo da solo. Ecco la piccola guida che ho scritto ai miei colleghi. Dovrei postarlo online da qualche parte.
Come consentire a MvcMailer di funzionare in WCFService.
1) Attivare la HttpContext
A) Aggiungere il seguente al web.config
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>
B) Aggiungere il seguente attributo alla classe di servizio.
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
//public class MyService
//{
// ...
//}
2) Attivare Razor
A) Aggiungere il seguente al 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) Aggiungere i seguenti riferimenti al progetto di servizio WCF.
System.Web.WebPages
System.Web.WebPages.Razor
C) Selezionare i riferimenti, fare clic con il tasto destro e aprire Proprietà per essi. Quindi impostare la seguente proprietà:
Copy Local = true
Fine! MvcMailer ora funzionerà nel tuo servizio WCF!
Questo ha funzionato per me. Tu, signore, sei una leggenda! – soupy1976
Contento di essere di aiuto. – smdrager