Unusual error on submit/AJAX

Unusual error on submit/AJAX

  
Hi all -

Strange error here. I have a screen with two blocks within it, that have a lot of data in them. A link on the screen is set to either "Submit" or "Ajax" (problem occurs both ways) and in some situations, I get this error when it is clicked. In fact, anything that does a postback (like a notification for an autocomplete component) produces the error. Any idea what could be wrong?

Thanks!

J.Ja

The URL-encoded form data is not valid. 
Stack: [1] The URL-encoded form data is not valid.
at System.Web.HttpRequest.FillInFormCollection()
at System.Web.HttpRequest.get_Form()
at System.Web.HttpRequest.get_Item(String key)
at OutSystems.HubEdition.RuntimePlatform.HttpCompressionModule.OnBeginRequest(Object sender, EventArgs e)
at ssTimesheetEntry_Group.Global.Application_BeginRequest(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
 
[2] Operation is not valid due to the current state of the object.
at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
at System.Web.HttpRequest.FillInFormCollection()
 
-Env-
eSpaceVer: 53 (Id=75, PubId=83, CompiledWith=6.0.1.10)
RequestUrl: (Method: )
AppDomain: /LM/W3SVC/1/ROOT/TimesheetEntry_Group-30-129886717570971563
Path: C:\...\PS\running\TimesheetEntry_Group.0305726359\
Locale: 
DateFormat: yyyy-MM-dd
PID: 3600 ('w3wp', Started='7/31/2012 5:06:26 PM', Priv=465Mb, Virt=3027Mb)
TID: 204
Thread Name: 
.NET: 2.0.50727.4971 
Hi Justin,

That error is caused by a security protection on the Asp.Net side. ( http://technet.microsoft.com/en-us/security/advisory/2659883 )
It prevents DoS attacks by limiting the number of post fields.
The default maximum is 1000.

To fix your problem you can either simplify your page or increase the limit.

To increase the limite you would need to add a setting to your web.config
(Not sure if it works at the web site level of needs to be on the application web.config):

<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="<new value>" />
</appSettings>


Regards,
João Rosado
Thanks!

J.Ja
I did it, and now it totally killed the server.

I went into the IIS configuration editor, added the entry at the site level, and it started giving errors about licensing (see below). I undid the change and the error persists. The licensing page says that everything is fine. I cannot make the change in the application level web.config, because the publishing process will wipe it out, so it needs to be made at the Web site level.

J.Ja

Server: MBC-CMC 
Module: RuntimePlatform 
Message: Your server license has been invalidated as the current information is not up to date. 
Stack: at OutSystems.HubEdition.RuntimePlatform.AppInfo.#2db()
at OutSystems.HubEdition.RuntimePlatform.AppInfo..ctor(String eSpaceName, DateTime compilationDate, String hmac)
-Env-
eSpaceVer: 54 (Id=76, PubId=84, CompiledWith=6.0.1.10)
RequestUrl: (Method: )
AppDomain: /LM/W3SVC/1/ROOT/TimesheetEntry_Group-4-129863165639169922
Path: C:\...\PS\running\TimesheetEntry_Group.1855087242\
Locale: 
DateFormat: yyyy-MM-dd
PID: 892 ('w3wp', Started='7/9/2012 2:08:44 PM', Priv=103Mb, Virt=2817Mb)
TID: 7
Thread Name: 
.NET: 2.0.50727.4971 
Hi Justin,

From the error message I see you have 6.0.1.10. That version has known licensing problems.
I recommend you to update to the latest version.


The error itself is not related to the setting.

Regards,
João Rosado
Joao -

Luckily, it was fixed (we tried re-uploading the license, then rebooting, that fixed it).

We will try updating to a later version, thanks!

J.Ja
You mean 6.0.1.19, correct?

J.Ja
I went to 6.0.1.19... the problem seemed to go away, but I made the change successfully anyways,a nd the problem has not come back up.

Thanks again!

J.Ja
I'm getting now the

Message:
The URL-encoded form data is not valid.
Stack:
[1] The URL-encoded form data is not valid.
at System.Web.HttpRequest.FillInFormCollection()
at System.Web.HttpRequest.get_Form()
at System.Web.HttpRequest.get_Item(String key)
at OutSystems.HubEdition.RuntimePlatform.HeContext.IsAjaxRequestFromRequest(HttpRequest request)
at OutSystems.HubEdition.RuntimePlatform.HttpCompressionModule.OnBeginRequest(Object sender, EventArgs e)
at ssCustoms.Global.Application_BeginRequest(Object sender, EventArgs e)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

[2] Operation is not valid due to the current state of the object.
at System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
at System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
at System.Web.HttpRequest.FillInFormCollection()

-Env-
eSpaceVer: 25 (Id=2436, PubId=3543, CompiledWith=5.1.0.17)
RequestUrl:
AppDomain: /LM/W3SVC/1/Root/Customs-215-129923573658115071
Path: D:\...\PS\running\Customs.02094897019\
Locale:
DateFormat: dd-MM-yyyy
PID: 15856 ('w3wp', Started='9/12/2012 11:53:29 AM', Priv=418Mb, Virt=1344Mb)
TID: 1
.NET: 2.0.50727.3634


And I also get this error

Message:
Licensing Error: An error occurred while flushing properties: The process cannot access the file 'D:\Program Files\OutSystems\Platform Server\OutSystems.Properties' because it is being used by another process.
Stack:
The process cannot access the file 'D:\Program Files\OutSystems\Platform Server\OutSystems.Properties' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at OutSystems.Activation.Logic.Properties.FlushProperties()

-Env-
eSpaceVer: 0 (Id=0, PubId=0, CompiledWith=5.1.0.17)
RequestUrl:
AppDomain: CompilerService.exe
Path: D:\...\PS\
Locale:
DateFormat: yyyy-M-d
PID: 1796 ('CompilerService', Started='8/18/2012 6:39:35 PM', Priv=99Mb, Virt=263Mb)
TID: 13
.NET: 2.0.50727.3634