Abilitare HttpContext in un servizio WCF

Scritto da  Massimo Bonanni il domenica 17 aprile 2011  •  Linguaggio: C#,VB   • Livello: 100


Un servizio WCF può essere consumato con diversi protocolli e, per questo, di default, non ha abilitato l'HttpContext.
In sostanza se tentiamo di utilizzare HttpContext.Current, questa è Nothing (null).
Per abilitare l'utilizzo dell'HttpContext (ed accedere, quindi a HttpContext.Current) è necessario inserire il seguente tag nel Web.Config:

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

 

 e decorare la classe di servizio con il seguente attributo:

VB.NET

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)>
Public Class Service1
    Implements IService1
         .
         .
End Class

 

C#

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class Service1: IService1
{
         .
         .
}

 


Tags: WCF,WCF SOA,WCF 4

 
x