Neviem v akom vztahu si so ic.cz - ak je to len hostingovy provider, bez brany to asi nepojde. V specialnych pripadoch (ak je server zazmluvneny - napr. forbsi etc.) sa da urobit VPN brana. Takto nam bezi remote server napojeny na kancelarske CRM a za tie roky sme problemy nezaznamenali.
Příspěvky odeslané z IP adresy 88.212.33.–
Toto je inac celkom zaujimava uloha, takze daj vediet ako si ju vyriesil - ja skusenosti nemam.
Otazkou je, ako budes volat SOAP z JS - cez Ajax - jQuery teda JSON alebo inym sposobom? V podstate tam potrebujes dat SSL (transport na serveri) a potom WCF security nastavit na certifikaty alebo meno / heslo. Neviem ci ma JSON imlementovanu moznost TransportAndMessages (tam by si aj tak musel asi vytvarat vlastneho providera) - ale na druhej strane pouzivat cetifikaty by mohlo byt obmedzujuce, ak sa jedna o verejny portal.
Potom sa natiska otazka, ci to musi byt tenky klient ASPX a nemoze to byt rovno Silverlight - ten ma plnu podporu WCF, takze tam by to uz bolo v podstate jedno, ako to zabezpecis - no mozno ti to nedovoluje charakter ulohy...
Mozno by si namiesto SOAPu vedel vyuzit REST. Neviem co ma vraciat tvoja sluzba, ale ak by si to spravne nacachoval - DOS utok na cachovanu REST by bol vlastne uplne rovnaky ako na webovu stranku (len HTTP traffic - comu nezabranis ani pri SOAPe). REST sa tiez jednoducho implementuje v JS a myslim ze prave Ajax services su postavene na tejto baze.
Takze urcite daj vediet ako si to poriesil ;)
Ja instalujem tieto balicky (VS2008 .Net 3.5) :
ASPAJAXExtSetup.msi
ASPAJAXSourceCode.msi
ASPNETAJAXVS2008.msi
V aplikacii, ktora pred tym nemala Ajax toolkit zaregistrovany, nestaci pridat DLL, potrebujes konfigurovat aplikaciu (treba googlit, je toho viacej - alebo vytvorit novy "Ajax" projekt a vykradnut rozdiely vo web.confgu) - pozri prilohu.
To LiborBes : citoval som KIIV - sry
yterbium napsal:
a je niečo také "principiálne" správne?
či to neruší nejaké princípy OOP, lebo keď už programujem tak aspoň správne sa snažiť...
Čiže toto je vo všeobecnosti odporúčaný postup?
Tak s tymto absolutne nesulhasim. Ak je program riadeny vynimkami, tak nezalezi vobec na tom, ci tam nieco vratis alebo nie (najde sa to aj v kode od M$):
try
{
IntSecurity.AllWindows.Demand();
}
catch (SecurityException)
{
this.dataGridViewState1[DATAGRIDVIEWSTATE1_isRestricted] = true;
}
catch
{
this.dataGridViewState1[DATAGRIDVIEWSTATE1_isRestricted] = true; // To be on the safe side
this.dataGridViewState1[DATAGRIDVIEWSTATE1_isRestrictedChecked] = true;
throw;
}
Nepouzivat vynimky moze kod znacne zneprehladnit, pretoze sa budu musiet zavadzat pri kazdej navratovej hodnote kody, ktore urcia, ze vysledok vlastne nie je spravny. Takymto pohladom som sa uz stretol ked som refaktoroval jednu serverovu aplikaciu ktora sa spravala "divne" a nebola takmer vobec rozsiritelna (mala len 200.000 riadkov) - cely problem bol v nepochopeni a nepouzivani vynimiek. Po refaktoringu (trval 2 roky => znacne drahy) sa aplikacia sprava "ocakavatelne" a je rozsiritelna.
Diskutoval by som skor o tom, ci raisovat vynimku v konstruktore alebo destruktore (leaky), ale v metode nevidim absolutne ziaden problem.