vineri, 26 decembrie 2008
Merry Christmas
joi, 4 decembrie 2008
Power Threading Library
Pe http://wintellect.com/PowerThreading.aspx gasiti si link pentru downloadul librariei.
Deasemenea pe channel 9 este publicat si un interviu cu Jeffrey in care-si prezinta libraria.
miercuri, 3 decembrie 2008
Revizie 15000 si cauciucuri de iarna - Partea a II-a
Am sunat la Colina Buc., BDT Bucuresti, NecoMotors Bacau... peste tot acelasi pret... incat am ramas la Tester in Iasi unde a fost 950 RON doar revizia (pe mine m-a costat mai mult ca am mai patit ceva si-am sa povestesc altadata).
2. Cat despre anvelope si jante: cea mai mare greseala sa cumperi de la magazinele din oras:D Cel putin la AutoCenter Iasi (si la inca un magazin de piese al carui nume imi scapa) m-ar fi costat in felul urmator:
- jante tabla 15'':
260 RON/bucata * 4 = 1040 RON
- anvelope Michelin Alpin A3 195/65/15:
280 RON/bucata * 4 = 1120 RON
Deci in total, la AutoCenter Iasi (cred ca montatul anvelopelor este gratuit, dar cu siguranta nu si echilibratul lor, datul jos de pe masina etc): 2260 RON
Solutia aleasa in final (multumesc tuturor care mi-au dat link-uri):
- jante tabla 15'': http://www.webtire.eu/ - pentru Ford Focus II, cu 5 prezoane, trebuie jante 5x108/63.3 ET 52.5:
150 RON/bucata * 4 = 600 RON + 60 RON transport = 660 RON
- anvelope Michelin Alpin A3 195/65/15: http://www.anvelopeweb.ro/
230 RON/bucata * 4 = 920 RON + 40 RON transport = 960 RON
In total 1620 RON.
Bani ramasi pentru ski: 640 RON !!!
miercuri, 19 noiembrie 2008
Revizie 15000 si cauciucuri de iarna
Deocamdata ar fi urmatoarele variante:
marți, 11 noiembrie 2008
WSS 3.0 Visual Studio 2008 Extensions
- Visual Studio 2005
- Visual Studio 2008
Daca insa incercati sa le instalati pe o masina de dezvoltare, si nu pe serverul unde este instalat Windows Sharepoint Services 3.0, va da urmatoarea eroare: "This product can only be installed if Windows SharePoint Services 3.0 has been installed first."
Daca v-ati lovit de problema si nu ati rezolvat-o inca, atunci e bine sa stiti ca exista un truc foarte simplu care va permite instalarea VSeWSS si pe masina voastra de dezvoltare: cu ajutorul regedit-ului asigurati-va ca exista calea de mai jos (daca nu, creati-o) si adaugati aici cheia si valoarea specificate mai jos:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]
"Sharepoint"="Installed"
Dupa instalare e bine sa instalati in GAC assembly-urile (cel putin Microsoft.SharePoint.dll) localizate in
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI\
luni, 10 noiembrie 2008
Visual Studio 2010 VPC Image
Daca insa chiar intentionati sa-l folositi, atunci e bine sa stiti ce probleme exista... in primul rand sistemul de operare expira in mai putin de 2 luni:
Apoi versiunile de Word si Excel instalate pe masina virtuala sunt trial si vor expira dupa 20 de deschideri... si in al treila rand, si cel mai important, Visual Studio 2010 nu va mai porni dupa 1 ianurie 2009
Am gasit insa cateva workarounds pe blog-ul lui Brian Keller despre cum puteti rezolva aceste probleme... si anume:
1. Dupa ce Windows Server 2008 va expira, simplu ignorati toate mesajele care cer activarea lui.
2. De Excel si Word cine are nevoie pe o masina virtuala? :) Deci ignorati-le de pe acum.
3. Dupa 1 ianuarie 2009 nu va mai porni Visual Studio 2010... solutia salvatoare e sa dati ceasul sistemul inapoi (cititi si acest post ajutator).
Recunosc ca mi-a cam pierit putin elanul si as astepta ca Microsoft sa scoata o noua masina virtuala care sa expire peste 1 an... nu se stie insa cand va aparea aceasta:(
miercuri, 5 noiembrie 2008
C# 4.0
Pentru cateva exemple ajutatoare in care sunt demonstrate capabilitatile noului limbaj, downloadati urmatoarele code samples de pe MSDN Code Gallery.
vineri, 31 octombrie 2008
WPF si Silverlight Toolkits
joi, 30 octombrie 2008
PDC 2008
marți, 28 octombrie 2008
Visual Studio 2010 / .NET Framework 4.0
Un overview al VS 2010 si .NET 4.0 puteti citi aici http://msdn.microsoft.com/en-us/vs2008/products/cc948977.aspx
luni, 27 octombrie 2008
PDC - ziua 1 - Windows Azure
Asadar =
- hosting (IIS 7.0), management, storage si networking
- Microsoft SQL Services
- Microsoft .NET Services
- Live Services - oferind posibilitatea partajarii si sincronizarii fisierelor (documente, imagini) intre mai multe calculatoare, telefoane mobile si aplicatii web
- Microsoft SharePoint Services
- Microsoft Dynamics CRM.
PDC 2008
De celelalte prezentari inca nu se stie nimic... daca vor fi transmise sau nu. Foarte probabil insa vor aparea ulterior pe Channel8, Channel9 sau Channel10 si cu siguranta vor merita privite prezentarile sustinute de Anders Hejlsberg despre viitorul C#-ului, Don Box, Miguel de Icaza , Scott Guthrie si multi altii.
vineri, 17 octombrie 2008
Carti gratis de la Microsoft
Pana pe 22 Octombrie Microsoft ofera gratis 3 carti in format electronic... deci nu ratati ocazia si downloadati-le ACUM | |
Programming Microsoft LINQ by Paolo Pialorsi and Marco Russo | |
Introducing Microsoft Silverlight 2, Second Edition by Laurence Moroney | |
Programming Microsoft ASP.NET 3.5 by Dino Esposito | |
Update: multumesc lui Emi care mi-a atras atentia - cartile nu sunt complete!!:( De exemplu "Introducing Silverlight 2" are doar primele doua capitole, "Programming LINQ" are cap. 6 si 16, "Programming ASP.NET 3.5" are cap. 3 si 18. Atunci la ce bun mesajul "Sign up now to download all of the chapters"??? |
luni, 13 octombrie 2008
WSS 3.0 VPC
- Windows Server 2003
- Windows SharePoint Services 3.0 (SP1)
- Visual Studio 2008 + Visual Studio 2008 WSS Extensions
- 10 Hands on Labs pentru a invata SharePoint.
... poate fi downloadat AICI si expira pe 30 Septembrie 2009 (1 an, deci timp suficient de studiu si joaca cu el).
Pentru studiu mai puteti downloada AICI cateva webcast-uri si demo-uri in format PowerPoint.
miercuri, 1 octombrie 2008
SDL Links
Link-uri de adaugat in favorites (daca nu le ai deja) despre Security Development Lifecycle:
- SDL Home
- SDL Blog
- Security Developer Center
- alti bloggeri care merita cititi:
- articole din MSDN Magazine
... si bineinteles nu uitati sa downloadati si instalati Microsoft Threat Analysis & Modeling
marți, 30 septembrie 2008
Visual Studio 2010 and .NET Framework 4.0
luni, 8 septembrie 2008
Bill Gates si Jerry Seinfeld
Microsoft Windows = Shoe :))
Incepand cu aceasta luna va incepe difuzarea (probabil numai in Statele Unite) unui spot publicitar care ii are ca protagonisti pe Bill Gates si Jerry Seinfeld si are rolul de-a creste popularitatea sistemului de operare Windows Vista.
Costurile? Mici pentru Microsoft: 4 milioane spot-ul + 10 milioane direct in buzunarul lui Seinfeld (~!#$%^&*)
Ce nu prea am inteles... ce vor sa sugereze cand flexeaza fortat varful pantofului? Sau ce-i cu schema pe care o face Gates la sfarsitul spotului?
luni, 1 septembrie 2008
vineri, 15 august 2008
Rovignete
De la 1 august s-a schimbat formatul rovignetei. Datorita "organizarii" foarte buna din Romania, la benzinarii nu se gasesc decat cele de 1 saptamana. Daca ceri de 6 luni sau 1 an, te trimit la posta.
Am fost la posta... mi-am zis ca nu-i nici o afacere sa cumpar de 1 saptamana de fiecare data, sigur ajung mai scump decat una pe 1 an. Doar ca surpriza: NICI la posta nu sunt. Am mers si la una de cartier si la cea centrala (de pe Cuza Voda). Mi-au zis ca daca n-am ce face, sa ma duc la directia de Drumuri si Poduri.
Cum "n-am avut ce face" cand afara sunt 35 de grade, mi-am luat inima in dinti si am gasit intr-un final directia de drumuri si poduri... Acolo sunt de toate felurile, inclusiv de 1 an... si e liber ca pasarea cerului (nu stai la rand ca in benzinarie).
Cum o gasiti? Simplu: in Copou, treceti de interesctia cu liceul sportiv si imediat urmatoarea intersectie, unde liniile de tramvai ocolesc refugiul cu statuia, faceti dreapta... Este drumul care ajunge la caminele din Titu Maiorescu. Acolo pe stanga o sa gasiti directia de Drumuri si Poduri Iasi. Atentie cand intrati, nu speriati fetele care tot timpul joaca ceva sa-si umple timpul :)).
joi, 31 iulie 2008
Condoleante
http://www.newsiasi.ro/index.php?option=com_content&task=view&id=5206&Itemid=1
luni, 9 iunie 2008
URLrewrite module pentru IIS7
- x86
- x64
Pentru IIS 6 exista foarte multe articole despre cum sa va scrieti propriul URL rewriter in ASP.NET... mai jos sunt doar cateva:
- Scott Guthrie - Tip/Trick: Url Rewriting with ASP.NET
- Scott Mitchell (MSDN) - URL Rewriting in ASP.NET
- articol CodeProject - URL Rewriting with ASP.NET
- UrlRewritingNet.UrlRewrite
- articol Simpletalk - A Complete URL Rewriting Solution for ASP.NET 2.0
- articol 15Seconds - A URL Rewriting Engine for .NET
Aaa, şi să nu scrieti comentarii răutacioase de genul "ăăă, în Apache există mod_rewrite din '97":D Ştiu că există, asta e, ce să-i facem... probabil Microsoft a lăsat şi programatorilor de ISAPI loc să mănânce o pâine.
joi, 5 iunie 2008
Modul pasiv in FTP-ul din IIS 6
Nu vreau sa intru in detalii despre diferentele dintre modurile activ si pasiv la FTP... este foarte clar explicat aici http://slacksite.com/other/ftp.html
Daca vreti sa activati modul pasiv la FTP in IIS 6, copiati urmatoarele comenzi intr-un fisier .bat si rulati-le:
C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange “5500-5550″
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset
Foarte importanta este a doua instructiune. Dupa ce se seteaza portul de date in intervalul 5500 si 5550 (serverul va deschide aleator un port din acest interval), trebuie adaugate si exceptiile in firewall... altfel la fiecare incercare de transfer spre/dinspre FTP va da timeout.
In Windows Server 2003 firewall-ul e destul de stupid si nu i se poate specifica un interval de porturi care sa fie deschise... iar script-ul din a doua instructiune te salveaza de adaugarea a cate unei exceptii pentru fiecare port.
miercuri, 4 iunie 2008
SQL Server rebranding
Cum vi se pare schimbarea fata de cel din 2005?
Mie personal mi se pare ca Microsoft incepe sa renunte la patratele si linii drepte si adopta din ce in ce mai mult liniile curbe, mai elegante.
Source: Dan's Blog http://blogs.msdn.com/dtjones/about.aspx
marți, 3 iunie 2008
SharePoint Developer Portal
acrobat.com
Poate merita testat... insa cati din cei care folosesc deja Google s-ar reorienta si-ar incepe sa foloseasca serviciile lansate de Adobe? Cu siguranta vor fi... eu insa astept sa fiu impresionat cu adevarat ca sa fac aceasta schimbare:) Ramane de vazut...
luni, 26 mai 2008
Visual Studio Extensibility
vineri, 23 mai 2008
joi, 6 martie 2008
Silverlight 2 Beta 1
- Silverlight 2 runtime pentru Windows (sau Mac);
- Silverlight Tools pentru Visual Studio 2008
- Silverlight 2 Beta 1 SDK
Tutoriale:
Part 1: "Hello World"
Part 2: Layout Management
Part 3: Using Networking to Retrieve Data and Populate a DataGrid
Part 4: Using Style Elements to Better Encapsulate Look and Feel
Part 5: Using the ListBox and DataBinding to Display List Data
Part 6: Using User Controls to Implement Master/Details Scenarios
Part 7: Using Templates to Customize Control Look and Feel
Part 8: Creating a Digg Desktop Version of our Application using WPF
Internet Explorer 8 Beta 1
- IE 8 Beta 1 pentru Windows XP SP2
- IE 8 Beta 1 pentru Windows Server 2003 SP2
- IE 8 Beta 1 pentru Windows Vista si Windows Server 2008
miercuri, 20 februarie 2008
SQL Server 2008 February CTP
A aparut insa un February CTP de SQL Server 2008 pe care il puteti downloada si testa: http://www.microsoft.com/downloads/details.aspx?FamilyId=749BD760-F404-4D45-9AC0-D7F1B3ED1053&displaylang=en
Pentru mai multe detalii referitor la ce aduce nou acest CTP fata de cel din noiembrie: https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5470
vineri, 15 februarie 2008
miercuri, 13 februarie 2008
MSDN Reader
Aplicatia este dezvoltata in WPF, deci o sa aveti nevoie de .NET 3.5 Framework instalat.
marți, 12 februarie 2008
Tipul de date hierarchyid in SQL Server 2008
In aproape toate proiectele mai mari la care am lucrat pana acum am avut nevoie de o structura ierarhica... ca era vorba de un bill of materials, sau categorii organizate pe mai multe nivele, intotdeauna tabela continea o coloana cu referinta spre o alta coloana din aceeasi tabela.
Cu alte cuvinte pe SQL 2000 si 2005 o astfel de tabela arata astfel:
CREATE TABLE Hierarchy (
Id int PRIMARY KEY IDENTITY(1, 1),
ParentId int
.....
)
De cele mai multe ori, pentru a evita aparitia nodurilor orfane, se adauga si o constrangere de tip foreign key pe coloana ParentId (solutie care functioneaza doar daca se adauga in mod deliberat un nod de root cu ParentId = NULL si care nu va fi niciodata sters).
In SQL Server 2008 s-a introdus un nou tip de date hierarchyid care permite modelarea acestor structuri ierarhice intr-un mod mult mai eficient. Deci tabela anterioara o vom putea crea cu structura:
CREATE TABLE Hierarchy2 (
Id hierarchyid,
...
)
Nu am sa intru in prea multe detalii, pentru ca puteti gasi pe MSDN foarte multe informatii despre:
- cum se foloseste hierarchyid http://msdn2.microsoft.com/en-us/library/bb677173(SQL.100).aspx
- doua tutoriale despre:
- cum se poate converti o tabela intr-o structura ierarhica http://msdn2.microsoft.com/en-us/library/bb677237(SQL.100).aspx
- cum se populeaza o astfel de tabela si cum se obtin datele din ea http://msdn2.microsoft.com/en-us/library/bb677270(SQL.100).aspx
- referinta completa a tipului hierarchyid http://msdn2.microsoft.com/en-us/library/bb677193(SQL.100).aspx
Acestea fiind spuse, sa trecem la treaba... bineinteles ca prima mea intrebare a fost: "ok, la ce bun un nou tip de date, daca o structura ierarhica mi-o puteam defini simplu cu relatii parinte-copil?"
Primul lucru la care m-am gandit a fost sa testez cum se comporta din punct de vedere al performantei... asa ca mi-am creat doua tabele cu urmatoarele structuri:
1. Folosind relatii de tip parinte-copil:
CREATE TABLE Hierarchy (
Id int PRIMARY KEY IDENTITY(1, 1),
ParentId int REFERENCES Hierarchy(Id),
Name nvarchar(50)
)
CREATE INDEX IDX_ParentId ON Hierarchy(ParentId)
2. Folosind noul tip de date hierarchyid
CREATE TABLE Hierarchy2 (
Id hierarchyid,
Level as Id.GetLevel(),
Name nvarchar(50)
)
CREATE CLUSTERED INDEX IDX_Hierarchy2_BF ON Hierarchy2(Level, Id)
CREATE UNIQUE INDEX IDX_Hierarchy2_DF ON Hierarchy2(Id)
Pentru ca diferenta de performanta sa fie vizibila, mi-am generat in ambele tabele cate 406901 inregistrari (25 de copii pentru fiecare nod, iar la al 4-lea nivel m-am oprit... deci 1 (root-ul) + 25 nivel 1 + 25 * 25 nivel 2 + 25 * 25 * 25 nivel 3 + 25 * 25 * 25 * 25 nivel 4).
Pentru structura clasica de tabela, pentru a obtine toti copii descendenti ai unui nod, se face o parcurgere pe latime a arborelui... la fiecare pas se adauga intr-o tabela temporara toti copii directi ai nodurilor de pe ultimul nivel vizitat, apoi se trece la urmatorul nivel.
Cazul cel mai defavorabil este cand nodul de plecare este chiar radacina:
1. Parcurgerea tabelei construita prin relatii parinte-copil:
DECLARE @ParentId int
SET @ParentId = 1
DECLARE @Level int
SET @Level = 1
CREATE TABLE #Hierarchy (Id int, [Level] int, Name nvarchar(50))
INSERT INTO #Hierarchy
SELECT Id, @Level, Name
FROM Hierarchy
WHERE @ParentId = ParentId
WHILE EXISTS (SELECT *
FROM Hierarchy WITH (NOLOCK)
WHERE ParentId IN (SELECT Id
FROM #Hierarchy WITH (NOLOCK)
WHERE [Level] = @Level))
BEGIN
INSERT INTO #Hierarchy (Id, [Level], Name)
SELECT Id, @Level + 1, Name
FROM Hierarchy WITH (NOLOCK)
WHERE ParentId IN (SELECT Id
FROM #Hierarchy WITH (NOLOCK)
WHERE [Level] = @Level)
SET @Level = @Level + 1
END
DROP TABLE #Hierarchy
2. Parcurgerea tabelei construita cu nou tip de date hierarchyid:
CREATE TABLE #Hierarchy2 (Id hierarchyid, [Level] int, Name nvarchar(50))
DECLARE @Level int, @Parent hierarchyid
SET @Level = 1
SELECT @Parent = Id
FROM Hierarchy2
WHERE Id = '/'
WHILE EXISTS (SELECT *
FROM Hierarchy2 (NOLOCK)
WHERE Id.GetAncestor(@Level) = @Parent)
BEGIN
INSERT INTO #Hierarchy2
SELECT Id, Level, Name
FROM Hierarchy2 WITH (NOLOCK)
WHERE Id.GetAncestor(@Level) = @Parent
SET @Level = @Level + 1
END
DROP TABLE #Hierarchy2
Concluzii:
- in primul caz, parcurgerea a durat 3 secunde, iar folosind hierarchyid parcurgerea a fost instanta; deci performantele sunt net superioare folosind noua structura;
- script-ul de parcurgere al tabelei cu hierarchyid este mult mai simplu si usor de modificat.
vineri, 8 februarie 2008
Programatorule, lasa tastatura si hai la o bila
"Ce tare" mi-am zis... uite firma care si-a schimbat strategia de recrutare si s-a desprins putin din clasicul "we are looking for a strong and motivated Java developer".
Incep sa citesc... candidatul lor ideal trebuie sa stie sa joace ping-pong (oops, cand eram in anii 1-2 de facultate ieseam la fotbal in loc sa stau sa joc ping-pong) si foosball (asta ce-i? a gata, am gasit; sanatate lui Larry si Sergey).
Deci cei care nu stiu deloc ping-pong, ce sa faca? Sa astepte sa-si depuna cv-ul cand vor mai invata putin biliard si darts? Sau sa-si exerseze putin inainte de interviu aruncarile cu panoul?
Lasand insa gluma la o parte, vin cu intrebarea: cati din cei care isi cauta un job in IT se uita si la ce posibilitati de entertainment au in pauza de masa? Cat conteaza cand iti alegi viitoarea firma ca are o canapea si o consola PS pe care le folosesti cand ai obosit din programat si vrei sa-ti "odihnesti" ochii?
joi, 7 februarie 2008
Visual Studio Gallery
Incepand de ieri ar trebui sa gasiti mai usor pe http://visualstudiogallery.com/.
marți, 5 februarie 2008
RONUA
luni, 4 februarie 2008
Windows Server 2008 RTM
Momentan sunt disponibile la download (pentru cei subscrisi la MSDN) versiunile DataCenter, Enterprise, Standard pe 64 de biti... pentru versiunile pe 32 biti + Windows Web Server 2008 mai asteptam.
Windows Vista Service Pack 1 RTM
"Here's the timing for SP1 availability for current Windows Vista users:
- In mid-March, we will release Windows Vista SP1 to Windows Update and to the download center on microsoft.com.
- In mid-April, we will begin delivering Windows Vista SP1 to Windows Vista customers who have chosen to have updates downloaded automatically. "
Deci mai asteptam 6 saptamani pana o sa-l putem downloada... buuuun.
vineri, 1 februarie 2008
Aplicatii Silverlight in PHP
Probabil raspunsul ar fi DA din partea unor programatori PHP si NU din partea celorlalti (pentru cei din a doua categorie, vedeti link-ul de mai sus pentru detalii).
Si acuma vin cu o a doua intrebare tot pentru programatorii PHP: v-ati gandit sa dezvoltati aplicatii in Silverlight, dar fara sa invatati un limbaj nou?
Indiferent de raspuns, mai ganditi-va... pentru ca aceeasi echipa care lucreaza la Phalanger a prezentat deja doua demo-uri de aplicatii Silverlight scrise in PHP.
marți, 29 ianuarie 2008
VS.NET 2008 Web Deployment Projects
WDP este un add-on pentru Visual Studio care ofera cateva optiuni mai avansate de compilare si deployment pentru proiecte web. Mai multe detalii despre cum se foloseste WDP gasiti pe blog-urile lui Scott Guthrie sau VS Web Developer Team.
Din pacate versiunea Express de Visual Studio nu este suportata.
joi, 24 ianuarie 2008
Un an de Windows Vista
Raportul complet al vulnerabilitatilor descoperite in acest prim an si al update-urilor publicate il puteti downloada aici.
Don't click!
Citind si eu la randul meu niste blog-uri, am dat peste http://www.dontclick.it/ care vine cu o idee extraordinara: navigare fara click-uri:)
Chiar daca site-ul e facut in Flash, un model asemanator de navigare se poate face numai cu HTML si putin JavaScript.
miercuri, 9 ianuarie 2008
How tos: configurare SharePoint 2007 pentru ASP.NET Ajax
incepand cu Service Pack 1 pentru AJAX.NET. Pentru aceasta insa trebuie urmati pasii:
- Downloadati si instalati
ASP.NET 2.0 AJAX Extensions 1.0 pe server-ul unde esta instalat SharePoint 2007 (daca SharePoint-ul s-a instalat intr-un webfarm, atunci ASP.NET Ajax Extensions trebuie instalat pe fiecare server); - Modificati web.config-ul
de la website-ul(urile) din SharePoint pentru care vreti sa activati Ajax (voi detalia
mai jos); - Adaugati ScriptManager-ul la nivel de master.page
Modificarea web.config-ului
Mai intai trebuie sa identificati website-ul din SharePoint pentru care doriti adaugarea
suportului pentru AJAX, retineti portul si deschideti web.config-ul din locatia
file:////[servername]/c$/Inetpub/wwwroot/wss/VirtualDirectories/[PortNumber]/web.config - daca accesati pe retea serverul unde este instalat MOSS 2007
sau
c:\Inetpub\wwwroot\wss\VirtualDirectories\[PortNumber]\web.config - daca accesati direct serverul unde este instalat MOSS 2007
si:
1. Adaugati un element nou <sectionGroup> in interiorul tag-ului <configSections>:
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
</sectionGroup>
</sectionGroup>
</sectionGroup>
2. Adaugati tag-ul <controls> in interiorul <system.web>/<pages>:
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
3. Adaugati urmatoarele inregistrari in tag-ul <assemblies> din sectiunea
<compilation>:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
4. Adaugati urmatoarele linii la sfarsitul sectiunii <httpHandlers>:
<httpHandlers>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
5. Adaugati urmatoarea linie la sfarsitul sectiunii <httpModules>:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
6. Inregistrati toate controalele din System.Web.Extensions ca SafeControls in
interiorul sectiunii <SharePoint>/<SafeControls>:
<SafeControls>
<SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />
</SafeControls>
7. In final adaugati urmatoarea sectiune la sfarsitul web.config-ului, chiar inainte de tag-ul </configuration>:
<system.web.extensions>
<scripting>
<webServices>
<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
<!--
<authenticationService enabled="true" requireSSL = "truefalse"/>
-->
<!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and writeAccessProperties attributes. -->
<!--
<profileService enabled="true"
readAccessProperties="propertyname1,propertyname2"
writeAccessProperties="propertyname1,propertyname2" />
-->
</webServices>
<!--
<scriptResourceHandler enableCompression="true" enableCaching="true" />
-->
&nbs
</scripting>
</system.web.extensions>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
Adaugati ScriptManager-ul
E bine stiut ca pentru a putea folosi UpdatePanel-ul si celelalte controale din ASP.NET Ajax
Extension trebuie ca la inceputul paginii sa fie adaugat un tag <asp:ScriptManager...>, iar acesta nu poate exista in pagina decat maxim odata. Varianta cea mai simpla e sa adaugam ScriptManager-ul in interiorul webpart-ului nostru, insa solutia nu merge... Ce se intampla daca in aceeasi pagina adaugam mai multe instante ale webpart-ului nostru? Bineinteles ca se vor crea mai multe instante ale ScriptManager-ului si aplicatia va crapa.
Exista insa doua solutii care elimina aceasta problema:
1. Modificam master page-ul din SharePoint si adaugam tag-ul
<asp:ScriptManager...> la inceputul acestuia. Acesta poate fi deschis fie cu
SharePoint Designer 2007, sau chiar cu notepad-ul, din view-ul
http://[moss_server]/_catalogs/masterpage/Forms/AllItems.aspx iar tag-ul
ScriptManager trebuie adaugat imediat dupa <form>.
2. O varianta mult mai flexibila si la indemana tuturor o reprezinta SmartPart-ul... Pentru aceasta trebuie downloadat si instalat Return of SmartPart (gasiti un document Word in interiorul arhivei care va explica cum se instaleaza si cum se foloseste). Acest modul contine un webpart numit AJAXSmartPart si care poate fi folosit pentru controalele care folosesc
AJAX.
Aruncand un ochi cu reflector-ul lui Roeder in assembly-ul SmartPart-ului, la tip-ul AJAXSmartPart, vedem ca la initializarea controlului se obtine instanta curenta din pagina de ScriptManager, iar daca nu exista se creeaza si se adauga. Asa ca folositi-l cu incredere ;-)
marți, 8 ianuarie 2008
Visual C++ 2008 Feature Pack
- au acelasi look ca Office XP, Office 2003 sau Office 2007;
- in loc de meniul standard se pot folosi controale noi asemanatoare cu Ribbons (introduse pentru prima data in Office 2007);
- se pot crea toolbar-uri si panel-uri cu facilitati de docking (asemanator cu docking-ul cu care deja ne-am obisnuit din Visual Studio);
- toolbar-uri si menu-uri customizabile.
Pe langa aceste elementele vizuale, mai include si un subset din TR1:
- smart pointers
- modul de parsare a expresiilor regulate;
- containere noi: tuple, array, unordered set...
- generator de numere aleatoare mai avansat;
- ...
Iar pentru dezvoltare va trebui sa mai downloadati Visual C++ 2008 Feature Pack Documentation