l'accès HttpContext.Courant de Service Web WCF
J'ai juste commencé à l'aide des Services WCF avec ASP.NET AJAX. J'instancie mon service WCF à partir de Javascript et ensuite passer des variables de chaîne de caractères en tant qu'arguments à mon Service WCF méthode (avec un OperationContract signature). J'ai ensuite revenir une .NET objet (définie avec un DataContract) qui est lié à mon Javascript personnalisé de classe. Je vais avoir de la difficulté à l'authentification basée sur l'utilisateur connecté à ma session web. Toutefois, le service web WCF est complètement différent de ce service sans contexte à la HttpContext.L'objet courant. Quel est le moyen le plus sécurisé pour accéder à cet objet?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir l'accès à
HttpContext.Current
en permettant AspNetCompatibility, de préférence via la configuration:Qui à son tour vous permet d'obtenir l'accès à l'utilisateur actuel:
HttpContext.Current.User
- qui est ce que vous êtes après, à droite?Vous pouvez même appliquer AspNetCompatibility par la décoration de votre classe de service avec un attribut supplémentaire:
(Dans le
System.ServiceModel.Activation
espace de noms).Si cet attribut est en place, votre service ne démarrera pas moins que AspNetCompatibility est permis!
Vous n'avez pas de HttpContext par défaut, mais vous avez un grand nombre des mêmes objets présents dans la OperationContext (qui est toujours présent) ou le WebOperationContext (qui n'est disponible que pour certaines liaisons.
Vous pouvez accéder à la OperationContext ou WebOperationContext à l'aide de la statique
.Current
propriété comme suit:WebOperationContext.Current
Dans le cas où vous ne souhaitez pas changer de Web.config ou vous ne pouvez pas le changer: