[ mmix @ 15.08.2004. 13:14 ] @
Ok, problem je sledeći:

1. ASP.NET aplikacija
2. Windows servis koji radi u pozadini
3. ASP.NET aplikakacija poziva remoting metod u servisu koji potom u async režimu šalje nekih 100-njak faksova

Lepo sam napravio remoting listener u servisu i pozivam ga preko TCP kanala na nekom portu. Problem je što mi priučeni a svemogući system admin diže obrvu na činjenicu da otvaram port na serveru (iako je pokriven firewallom) pa to rešenje moram u doglednom periodu zameniti nekim koje ne otvara port. Oba "fabrička" kanala, tcp i http podrazumevaju otvaranje portova.

Otvoren sam za bilo koji predlog koji ne podrazumeva pooling sa persistent medija tipa filesystem i SQL. Trenutna ideja mi je da napravim svoj channel koji će raditi preko named pipeova, ali .net nema podršku (ili ima?) za pipeove, pa mi ne gine interop. Ako neko ima bolju ideju, slušam...
[ -zombie- @ 15.08.2004. 15:52 ] @
ne poznajem dovoljno MS infrastrukturu za ovo (tj da li je neophodan exchange ili neki sličan server), ali sledeća stvar koja meni pada na pamet je slanje zahteva preko maila (čak i SOAP beše ima mail envelope)..

dakle, ASP pošalje zahtev u mailu, neko-MS-čudo-tipa-exchange-ili-šta-već startuje web servis kada primi mail, i iz njega obradiš zahtev..
[ mmix @ 15.08.2004. 16:50 ] @
To manje više podpada pod ono "pooling sa persistent medija" . Fora je što sistem, iako je asinhron, zahteva da se određene informacije po iniciranju batch procesa vrate asp.net aplikaciji (broj transakcije, odobrenja, itd) i da potom servis sam krcka obradu zahteva dok je asp.net aplikacija slobodna da radi druge stvari. Uporteba persistent medija mi omogućava da pokrenem batch proces, ali ne može (bez velike petljancije) da vrati odgovor.
Remoting poziv je idealno rešenje za ovakve stvari, i totalno mi je suludo da je MS pored nekoliko interproces rešenja koje ima u windowsu u .NETu implementirao samo IP-based RPC.
[ akrosoft @ 15.08.2004. 18:51 ] @
Mislim da si sam dao najbolji odgovor na svoje pitanje. NamedPipes su ti neminovno resenje na osnovu onoga sto si rekao da ti treba, cak mislim da je i efektnije, sto se brzine tice, nego koriscenje TCP/HTTP kanala. Samo je problem oko security issue-a da se iskontrolise u lokalu, odnosno da li ce umisljenom administratoru obrva ostati podignuta kada cuje za named pipes? Sto se tice .NET podrske za named pipes, mislim da se neces puno ovajditi i da ces morati da koristis interop.