I'm assuming that you are using DWR 1.1?
I think this is fixed in 2.0
Joe
On 2/28/07, David Marginian <
david-IUT0uLTrdk7ZrEr2eKs0CtBPR1lH4CV8@xxxxxxxxxxxxxxxx> wrote:Mike,
I made a mistake. The older version of the script engine does not
have this problem. You are right, 5.7 does.
Quoting Mike Cantrell <m.j.cantrell-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx>:
> I'm running the same version. I wonder if it's operating system related
> then?
>
> On 2/28/07, David Marginian <david-IUT0uLTrdk7ZrEr2eKs0CtBPR1lH4CV8@xxxxxxxxxxxxxxxx> wrote:
>>
>> Mike,
>> This is not common across IE 7. It depends on the scripting
>> engine. You can check this via the following:
>>
>> <html>
>> <body>
>> <script>
>> /*@cc_on @*/
>> function GetScriptEngineInfo(){
>> var s;
>> s = ""; // Build string with necessary info.
>> s += ScriptEngine() + " Version ";
>> s += ScriptEngineMajorVersion() + ".";
>> s += ScriptEngineMinorVersion() + ".";
>> s += ScriptEngineBuildVersion();
>> return(s);
>> }
>>
>> alert("_javascript_ version is "+@_jscript_version+" build
>> "+@_jscript_build);
>> alert(GetScriptEngineInfo());
>> </script>
>> </body>
>> </html>
>>
>> I don't see the problem you mention. I am on Version 5.7, build 5730.
>>
>> Quoting Mike Cantrell <m.j.cantrell-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx>:
>>
>>> DWR uses a lot of evals to de-serialize data into _javascript_ data
>>> structures. After experiencing several odd errors in IE7 with DWR and
>> large
>>> sets of data, I started to do some digging. It seems that IE7 limits the
>>> number of variables that can be assigned in a single eval to 327687 (the
>> max
>>> value of a signed short). If you cross that threshold, it gives you a
>>> generic 'Syntax Error' message.
>>>
>>> The following code demonstrates the problem:
>>>
>>> function StringBuffer() { this.buffer = []; }
>>>
>>> StringBuffer.prototype.append = function(string) {
>>> this.buffer.push(string);
>>> return this;
>>> }
>>>
>>> StringBuffer.prototype.toString = function() {
>>> return this.buffer.join("");
>>> }
>>>
>>>
>>>
>>> var max = 32768;
>>> testEval();
>>>
>>> function testEval() {
>>> var sb = new StringBuffer();
>>>
>>> for (var i=0; i < max; i++) {
>>> sb.append("s" + i + " = 'foo';");
>>> }
>>> eval(sb.toString());
>>> }
>>>
>>> I've opened a support case with MS but I don't have high hopes of them
>>> changing the behavior (I'm assuming that it's intentional). The most I'm
>>> hoping for is a little better error message.
>>>
>>> With that said, is there any hope of seeing DWR less reliant on large
>> evals
>>> in the future?
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
users-unsubscribe-EyPigyGktj4FDOXUYO6UHQ@xxxxxxxxxxxxxxxx
>> For additional commands, e-mail: users-help-EyPigyGktj4FDOXUYO6UHQ@xxxxxxxxxxxxxxxx
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe-EyPigyGktj4FDOXUYO6UHQ@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help-EyPigyGktj4FDOXUYO6UHQ@xxxxxxxxxxxxxxxx
|