[C#/.Net]http proxy för parallella requests

Permalänk
Medlem

[C#/.Net]http proxy för parallella requests

Som en del av en Mvc 3 websida behöver jag en proxy-funktion som tar hand om inkommande, parallella requests och strömmar tillbaka svaret till klienten. Det är så sidan kommer skicka iväg 2 GET requests till proxyn samtidigt som i sin tur vidare till en server för att hämta ljud och text-data och för att inte hela svaret skall behöva ha laddats till proxyn innan man börjar skicka tillbaka datat så skall det strömmas. Dock har jag stött på problem när jag försöker strömma tillbaka datan. När jag skriver datan rätt till response-strömmen (använder ej actionresults) så sätter jag content-type, och om de två svaren behandlas samtidigt så får jag ett exception som säger att jag inte kan sätta content-type efter att response headers har skickats. Detta tycker jag verkar lite märkligt då varje request borde ha ett eget response, oberoende av andra, parallella requests? Värt att notera är att jag har gjort kontrollern som sköter detta sessionslös eftersom .net annars ser till att requesten körs seriellt. Vad kan jag göra för att komma runt detta? Jag måste ändra content-type eftersom det är både ljud och text-data som skall skickas tillbaka till klienten.

Visa signatur

"Say unto thine own heart, I am mine own redeemer"
Don't touch me when I'm crazy of that airplane glue

Permalänk
Medlem

Nu skall jag säga er vad det var som ställde till problem. Det var nämligen så att HttpContexten inte var trådsäkrad vilket gjorde att allt blev en enda röra när jag skrev direkt till response-strömmen. Om man istället använde sig av olika ActionResults (som man bör) så fixade .net trådsäkringen själv och det hela blev lite bättre. Anledning till att jag inte använde mig av dessa till att börja med var att jag inte trodde det fanns ett som gjorde det jag ville men sen snubblade jag över ett.

Visa signatur

"Say unto thine own heart, I am mine own redeemer"
Don't touch me when I'm crazy of that airplane glue