emission skrev:
Jag har löst x-microsoftajax-problemet, om det verkligen är det som strular.
Har postat lösningen här
http://forums.asp.net/p/1144748/1850717.aspx
Såg riktigt lovande ut men jag kom inte riktigt hela vägen.
Jag lade till javascriptet på sidan och C#-koden i
void Application_BeginRequest(Object Sender, EventArgs e)
i Global.asax
HttpRequest request = HttpContext.Current.Request;
if (request.Headers["X-MicrosoftAjax"] == null && request.Form["__MicrosoftAjax"] != null)
{
ArrayList list = new ArrayList();
list.Add(request.Form["__MicrosoftAjax"]);
Type t = request.Headers.GetType();
t.InvokeMember("MakeReadWrite", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, request.Headers, null);
t.InvokeMember("InvalidateCachedArrays", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, request.Headers, null);
t.InvokeMember("BaseSet", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, request.Headers, new object[] { "X-MicrosoftAjax", list });
t.InvokeMember("MakeReadOnly", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, null, request.Headers, null);
}
och jag får verkligen en X-MicrosoftAjax header och Ajax.net verkar fatta det.
Det är bara det att jag ändå får:
Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed...
Details: Error parsing near 'sdfsdfsdfsdf=|64'.
Där sdfsdfsdf egentligen är slutet på ViewStaten.
När jag sedan tittar på vad jag verkligen får tillbaka från servern så ser jag några små skillnader. När det fungerar (när jag inte går via firewallen som tar bort x-microsoft-ajax headern) så får jag:
Content-Type: text/plain; charset=utf-8
1c3a5
115566|updatePanel|ctl00_mainPlaceHolder_UpdatePanel2|
och när det inte fungerar:
Content-Type: text/plain; charset=utf-8
115566|updatePanel|ctl00_mainPlaceHolder_UpdatePanel2|
På något vis så har 1c3a5 blivit bortskalat. Någon av er som har koll på varför eller ens vad 1c3a5 är för något i detta sammanhang?
Om ni har någon annan lösning på problemet med firewalls som tar bort x-microsoftajax headern så är jag väldigt intresserad av det också.
Tack på förhand!