Est-il possible d'implémenter un proxy redirecteur / inversé à l'aide de requestInterceptor à partir du kit de démarrage de repos WCF

StackOverflow https://stackoverflow.com/questions/6054310

  •  15-11-2019
  •  | 
  •  

Question

Je tente de mettre en place un proxy inverse à l'aide de la requéreurInterceptor à partir du kit de démarrage de WCF.Je suis capable de définir les propriétés d'en-tête de base et de configurer les appels.Je suis coincé avec les aspects suivants:

  1. retourner une réponse appropriée - mon service Web peut retourner texte + xml, image ou json.Je ne suis pas en mesure d'envoyer le type de réponse approprié.Les surcharges du message.Createmessage sont tous alignés sur le savon I.e. Ils n'acceptent que des constructions XML, donc je ne suis donc pas capable d'envoyer des flux JSON ou d'image.J'ai besoin de les convertir en xelements - je fais définitivement quelque chose de mal ici.

  2. Je veux aussi que le proxy inverse fonctionne bien en présence de cookies, gzip / déflate et SSL.

    Sur la base des exigences ci-dessus, pensez-vous qu'il est logique de le faire à l'aide du kit de démarreur de repos?Le requérantIntercepteur était assez facile à brancher, mais le reste du code me conduit à des noix.

Était-ce utile?

La solution

There is a mapping between both JSON and arbitrary binary content to XML which is used in messages for WCF (see some examples at http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx), so you can use Message.CreateMessage to create non-XML messages as well.

Having said that, it's really not intuitive to do that in WCF as of now. The new libraries in the WCF Web API - http://wcf.codeplex.com - provide a very nice way of intercepting / redirecting / bypassing the WCF pipeline especifically for HTTP messages. Also, it support multiple formats in a native way (i.e., without need to do some mapping to XML).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top