2007
04
júl

Mono kompatibilitás


Egy újabb Mono-s bugba sikerült belefutnom. A CustomValidator-okat pofátlanul figyelmen kívül hagyja de ami a leginkább bosszant a dologban, hogy ez a korábbi verziókban működött! Az 1.2.3-as verziónál tapasztaltam a jelenséget de először arra gondoltam, hogy én ejtettem valami hibát a programomban. Módosítás nélkül átvittem a kódot egy MS.NET-es gépre és hiba nélkül működött.

  • CustomValidator:
    <asp:CustomValidator
    	Display="Dynamic"
    	ErrorMessage="A ráfordítási idő nem lett kiválasztva"
    	ID="CustomValidator1"
    	OnServerValidate="ValidateDuration"
    	runat="server" />
    <asp:DropDownList ID="ddlDuration" runat="server" />
  • Az eseménykezelő rész:
    protected void ValidateDuration (object sender, ServerValidateEventArgs e)
    {
    	if (ddlDuration.SelectedValue == "0")
    		e.IsValid = false;
    	else
    		e.IsValid = true;
    	}

Gondoltam, hogy akkor gyorsan feldobok a tesztrendszerben egy 1.2.4-es verziót, hátha ott már javították, de ekkor jött az arconcsúszás, mert az új verzióval mégtöbb hiba jött elő. Nem találja – egészen pontosan rossz helyen keresi – a saját kontroljaimat, mert a korábban tökéletesen működő (Windows-on most is kifogástalan) URL kezelő eljárásom hibás URL-t ad vissza és mindig téveszt egy szintet a könyvtárstruktúrában.

Nagyon óvatosan arra következtetek, hogy production környezetbe még mindig nem való a Mono – ASP.NET páros, mert az ilyen bugokat nem lehet tolerálni. Egyébként Gentoo-val teszteltünk, de a kolléga visszajelzése alapján Ubuntu-val is jelentkezett a hiba! Most jöhet a downgrade 1.2.2-re, ahol még minden hibátlan volt (vagy a Mono forráskód túrása, de nem vagyok mazochista ;-) ).

Címkék: , , , , ,

Szólj hozzá te is!