WCF - client IP

Mogoče kdo ve, kako dobiti IP odjemalca, ki kliče WCF storitev (host je IIS)?

Uporabljam basicHttpBinding (basic profile 1.1) oz wsHttpBinding, poskusil sem z različnimi objekti oz. lastnostmi dohodnega sporočila System.ServiceModel.Channels.HttpRequestMessageProperty :

 OperationContext.Current.IncomingMessageProperties[HttpRequestMessageProperty.Name]

 IP-ja pa ni nikjer..

 
Možnost je mogoče uporaba ASP.NET Compatibility Mode (<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />), uporaba HttpContext-a:

 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public  string  GetData(XmlDocument _xml) {
  ...

  string IP = HttpContext.Current.Request.UserHostAddress;
  ...
}

 
Ta način pa ni nabolj priročljiv glede performans.. Kje ste WCF guruji?

 

Hvala & lp

 

Avtor: damjank, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

damjank
damjank - sobota, 17. marec 2007

Ja.. v teh novih stvareh vedno nekaj manjka Mogoče bo v SP1. IP rabim zaradi beleženja dostopa do storitev (vem, lahko bi ga dobil tudi iz IIS log-a);&nbsp; opcija je tudi custom SOAP header, vendar zaradi različnih klientov (.net, java) zna biti problem..&nbsp;Zaenkrat imam vklopljem ASP.NET Compatibility Mode in stvar deluje.

AndrejT
AndrejT - petek, 16. marec 2007

Jep... ni ravno dal konkretnega odgovora, in kolikor sem bral drugje, so odgovori bolj tipa &quot;not currently supported&quot;, tako da znamo to &scaron;e dobit. Za kaj pa rabi&scaron; IP? Mogoče ga lahko po&scaron;lje&scaron; kot del sporočila?

damjank
damjank - petek, 16. marec 2007

Ja Andrej bo držalo..Sem na&scaron;el podoben dogovor tudi pri guruju C. Vastersu: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=727886&amp;SiteID=1&nbsp;&nbsp;

AndrejT
AndrejT - petek, 16. marec 2007

Damjan, mislim da to &quot;po naravni poti&quot; ni podprto v WCF, verjetno zaradi različnosti transportnih poti...