Windows Mobile Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 28 April 2011

Cum putem sincroniza un director cu un blob din cloud.

Posted on 12:19 by Unknown
Ieri am vorbit despre modalitatea prin care una sau mai multe instante de SQL Azure se pot sincroniza.
Astazi o sa incerc sa o ofer o solutie pentru cazul in care un client adauga in mod deconectat date pe blob, pe care noi vrem mai tarziu sa le le sincronizam cu blob-urile din cloud.
Problema: Se da un client care lucreaza cu date din blob-uri in mod deconectat. Se doreste ca la reconectare sa se sincronizeze cele doua storage-uri.
Ati spune simplu, ne apucam sa ne scriem un mecanism prin care sa putem sincroniza cele doua containere de date. Da, e si asta o varianta, dar oare merita sa implementam de la zero acest mecanism. Ati putea spune ca putem vedeam cele doua storage-uri ca si doua directoare si atunci sa folosim un mecanism de sincronizare a directoarelor. Suna bine, dar am o solutie mult mai curata - Microsoft Sync Framework.
Se bazeaza pe idea de a vedea cele doua storage-uri ca si doua directoare( partitii). Folosindu-ne de Microsoft Sync Framework putem sa sincronizam aceste date fara nici o problema.
  FileSyncProvider localfileSyncProvider = new FileSyncProvider(localPathName);
AzureBlobSyncProvider cloudSyncProvider= new AzureBlobSyncProvider(containerName, blobStore);
SyncOrchestrator syncOrchestrator = new SyncOrchestrator();
syncOrchestrator.LocalProvider = localfileSyncProvider;
syncOrchestrator.RemoteProvider = cloudSyncProvider;
syncOrchestrator.Synchronize();
Mai sus am dat un exemplu rudimentar la modul in care se poate face o sincronizare intre un directoru local si un blob folosindu-ne de acest framework. Ce mi-a placut pana acuma este ca nu mai este nevoie sa imi bat capul cum sa detectez modificările. Exista deja implementat un mecanism pentru acest lucru, iar in cazul in care dorim unul custom, putem cu usurinta sa inseram mecanismul nostru propriu.
Zilele astea o sa studiez acest framework si o sa revin cu alte posturi. O prezentare interesanta gasiti aici: http://www.microsoftpdc.com/2009/SVC23
Read More
Posted in Microsoft Sync Framework, offline, sincronizare | No comments

Single Responsibility Principle

Posted on 08:06 by Unknown
Toata lumea a auzit de acest principiu. Pe scurt fiecare obiect trebuie sa aibe o singura responsabilitate.
Problema apare la interpretare. Fiecare persoana poate sa inteleaga diferit cand ne referim la responsabilitate.
Din cate am vazut pana acuma exista doua moduri in care se poate implementa SRP:
- fiecare metoda publica expusa de catre o clasa reprezinta o responsabilitate unica;
- fiecare obiect ar trebui sa aibe o singura responsabilitate.
Daca ne folosim de prima varianta, ajungem sa avem sute de interfete si clase abstracte, fiecare cu o singura metoda. In cazul in care respectam a doua varianta apare problema la interpretare. Cum putem spune ca o clasa are o singura responsabilitate si doar una.
De exemplu daca avem o entitate la care vrem sa adaugam metoda ToXml() am putea spune ca este corect din punct de vederea a SRP. Dar mai tarziu poate am avea nevoie de metoda ToString(). Aceste doua metode violeaza SRP.
Din pacate aceasta discutie ar putea sa continue la nesfarsit. Trebuie gasita un echilibru.
Pentru exemplul dat mai sus putem sa adaugam o metoda To() care prin intermediul unui formater sa ne returneze obiectul in formatul pe care il dorim.
Referinte: http://www.objectmentor.com/resources/articles/srp.pdf

Read More
Posted in Single Responsibility Principle, SRP | No comments

Wednesday, 27 April 2011

Cum sa sincronizam mai multe baza de date SQL Azure - Data Sync Service

Posted on 13:28 by Unknown
Uneori avem nevoie de un mecanism prin care sa putem sincroniza una sau mai multe baza de date SQL Azure. Putem sa încercam sa scriem cod prin intermediul căruia sa ne sincronizam bazele de date din același data center sau din data center-uri diferite.
O alta soluție la îndemîna este Data Sync Service. Prin intermediul acestui mecanism putem sa ne sincronizam doua sau mai multe baza de date din cloud fara sa fie nevoie sa scriem nici o linie de cod. Nu mai este nevoie sa reinventam roata din nou.
De exemplu dacă avem 2 baze de date în norișor, una în Europa și alta în Asia pe care trebuie sa le sincronizam bidirecțional putem sa folosim cu încredere acesta soluție. Orice modificare făcuta într-o baza de date se va face în mod automat și în cealaltă baza de date din celalalt data center.
Nivelul de granularitate dupa care se poate face filtrarea in acest moment este tabela. Putem sa setam ca una sau mai multe tabele sa fie sincronizate. Din fericire in cazul in care acelasi continut este modificat in doua tabele sincronizate, Data Sync Service poate sa rezolve singur aceasta problema si sa faca handling la aceste probleme intr-o oarecare masura.
Sincronizare se poate face doar la o parte din tabele( mai putini bani). Se poate face un schedule pentru momentul cînd se dorește sa se facă sincronizarea( granularitatea este la nivel de ora). O alta varianta de sincronizare este la cerere.
Opțiunea de sincronizare bi-direcționala este cu doua tăișuri. Aceasta ne permite sa tinem doua sau mai multe baza de date sincronizate in orice moment. O modificare care se face intr-o baza de date( intr-un hub), se propaga aproape instantaneu si la restul bazelor de date. Din pacate varianta de Sync Framework care este pentru cloud nu permite sa facem handling la conflicte. In acest caz trebuie sa avem grija la modul in care generam primary key-urile.
Pentru mai multe informatii http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-data-sync-overview.aspx
Read More
Posted in data sync service, Sql Azure | No comments

Friday, 22 April 2011

Adnotare enum cu mai multe valori

Posted on 06:35 by Unknown
Cand dorim sa serializam un enum putem sa atasam la valoarea fiecarui item din enum atributul XmlEnumAttribute. Astfel la serializare/deserializare o sa putem lucra cu o valoarea string nu cu o valoare numerica.
Pana aici nici o problema, dar cum facem sa obtinem doar aceasta valoarea si nu un xml care contine si aceasta valoarea . De exemplu pentru enum-ul:
public enum Dimension
{
[XmlEnum(Name="BigT")]
Big
[XmlEnum(Name="SmallT")]
Small
}

am obține folosindu-ne de XmlSerializer un output care contine si un nod care specifica ce tip de data ii. Pentru a putea sa obtinem doar valoare BigT sau SmallT putem sa apelam la reflection si sa iteram prin atributele item-ului respectiv pana ajungem la un atribut de tip XmlEnumAttribute.
Acuma, daca ducem problema umpic mai departe, putem sa ajungem la cazuri in care elementele din enum au diferite valori. De exemplu daca lucram cu doua sau mai multe aplicații, putem sa avem doua sau mai multe reprezentări pentru aceiasi valoare. De exemplu o aplicație poate sa isi noteze valoare Big cu BigT, iar alta cu BigState. La prima strigare putem sa scriem un swith, iar in funcție de sistemul de unde preluam sau trimitem date sa avem o anumita valoare.
O solutie mai generala este sa scriem doua metode care sa stie sa convertească un string intr-un enum in functie de valoarea atributelor cu care adnotam un anumit item din enum. De exemplu in exemplul dat mai sus putem sa avem:
public enum Dimension
{
[FirstSystem("BigT")]
[SecondSystem("BigState")]
Big
[FirstSystem(Name="SmallT")]
[SecondSystem("SmallState")]
Small
}
In felul acesta, putem sa avem oricate valori pentru un anum. Atributele custom pe care le-am definit trebuie sa mosteneasca din clasa XmlEnumAttribute. Se poate scrie si un atribut custom, dar am folosit aceasta clasa deoarece deja continea o valoare de tip string.
Mai jos gasiti doua metode care ne permit sa convertim un enum in string si viceversa pe baza atributelor. Pentru a putea obtine valorea unui atribut este nevoie sa iteram prin toata lista de atribute pana ajungem la atributul pe care noi il dorim.
 public static string GetAttributeValue<TAttribute>(Enum @enum)
where TAttribute: XmlEnumAttribute
{
Type enumType = @enum.GetType();
Type attributeType = typeof (TAttribute);
FieldInfo info = enumType.GetField(@enum.ToString("G"));
if (!info.IsDefined(typeof(XmlEnumAttribute), false))
{
return @enum.ToString("G");
}

foreach (var customAttribute in info.GetCustomAttributes(attributeType, false))
{
if (customAttribute.GetType() == attributeType)
{
XmlEnumAttribute attribute = (XmlEnumAttribute)customAttribute;
return attribute.Name;
}
}

throw new Exception("The given attribute could not be found.");
}


public static TEnum GetEnumByAttributeValue<TEnum,TAttribute>(string value)
where TAttribute: XmlEnumAttribute
{
Type enumType = typeof(TEnum);

foreach (var item in Enum.GetValues(enumType))
{
if(GetAttributeValue<TAttribute>((Enum)item)==value)
{
return (TEnum)Enum.Parse(enumType, item.ToString());
}
}

throw new IndexOutOfRangeException(string.Format("The {0} attribute value cannot be found on the {1} enum", value, enumType.Name));
}
Read More
Posted in Convert, enum, reflection, serializare, serialization, xml | No comments

Wednesday, 20 April 2011

Finala concursului scolii de cloud

Posted on 02:31 by Unknown
Ieri, 29 martie 2011 a avut loc finala concursului scolii de cloud. Cei trei castigatori au fost:
  • Business Logic Systems cu aplicatia MMS Gateway
  • Zitec cu aplicatia HotelPeeps Trends
  • Teamnet cu aplicata Dosarul Electronic Pacienti
Mai multe informati puteti sa gasici http://zoli.herczeg.ro/2011/04/19/c%C8%99tigatorii-concursului-%C8%99colii-de-cloud/
Aplicatia open source pe care am dezvoltato impreuna cu Andrei Ignat si Catalin Gheorghiu a ajuns pana in finala, dar nu a castigat nici un premiu. Daca sunteti curiosi sa aflati mai multe detalii despre aplicatia noastra Windows Azure Backup va invit sa vizitati pagina http://myazurebackup.codeplex.com/.
Aceasta aplicatie va ramane in continuare open source in varianta actuala. Exista si o sa existe si alte functionalitati care nu o sa fie incluse in proiectul open source, daca sunteti interesati si de solutie platita va rog sa ne contactati.
Multumesc companiei iQuest Technologies pentru sustinere.
Read More
Posted in Azure backup solution, Cloud, concurs | No comments

Friday, 8 April 2011

Cum sa configuram Azure development storage pentru a putea fi accesat de catre toata echipa de dezvoltare

Posted on 04:37 by Unknown
In mod default, cand pornim storage-ul local, acesta accesează 127.0.0.1. Dar ce ne facem daca avem o echipa de dezvoltare care doreste sa lucreze pe un storage comun. Prima posibilitatea este sa ne configuram un storage sus pe cloud, dar asta înseamna bani in plus si un lag, in cazul in care nu avem o conexiune foarte rapida.
O alta varianta este s schimbam configurarea pe mașinile de development, astfel incat acestea sa bata spre aceiasi adresa. Pentru a putea face acest lucru trebuie sa deschidem fisierul DSService.exe.config din directorul ~Program Files\Windows Azure SDK\v1.4\bin\devstore\DSService.exe.config. Sub nodul services o sa gasim lista de adrese pentru blobs, queue si tables.
Fiecare adresa a serviciului poate sa fie modificata, ca in exemplul de mai jos:
<services>
<service name="Blob" url="http://10.123.1.9:10000/"/>
<service name="Queue" url="http://10.123.1.9:10001/"/>
<service name="Table" url="http://10.123.1.9:10002/"/>
</services>
Dupa ce am facut aceste modificări este nevoie sa dam repornim storage-ul pentru development.
Read More
Posted in Azure, blob, development stoage, query, remote, table | No comments

Thursday, 7 April 2011

Eveniment .NET in Cluj-Napoca 26 27 mai 2011

Posted on 06:41 by Unknown

Organizatorii acestui eveniment sunt persoane implicate activ în comunitatea dezvoltatorilor .NET, cu experiență în organizarea de prezentări și seminarii tehnice pentru dezvoltatori vizibile pe web la CodeCamp.ro, și în comunitatea ITSpark ce acoperă zona ITPro entry și mid-level, fiind orientată către specialiștii IT.

Tocmai din acest motiv, sesiunile vor fi tehnice și foarte practice, dorind mai degrabă să arate cum se utilizează tehnologii de azi și mai puțin să prezinte tehnologii de mâine. Totuși, nu vor lipsi prezentari cu teme legate de viitoarele versiuni ale soluțiilor tehnice discutate.

Cand: 26-27 mai

Unde:Hotel Cluj Napoca Golden Tulip Ana Dome‎

Inregistreazate: http://itcamp.ro/inregistrare.aspx#nav

Pentru mai multe detalii http://itcamp.ro/

Read More
Posted in .NET, cluj-napoca, eveniment, ITCamp, prezentare | No comments

Wednesday, 6 April 2011

Assembly comun intre mai multe tipuri de proiecte in Visual Studio

Posted on 07:15 by Unknown
Uneori lucram cu proiecte care au assembly-uri atat pe Silverlight cat si solutii clasice .NET. Din pacate un assembly de Silverlight nu se fi adaugat ca si referinta la un proiect normal( sau invers).
O solutie la aceasta problema este sa adaugam fisierele ca si "Add as link" intr-unul din cele doua proiecte. Dar problema apare la compilare, in cazul in care apelam API care nu este suportat de una din platforme si uitam sa compilam fiecare solutie in parte pentru a face aceasta verificare.
Din aceasta cauza ne putem trezii cu neplaceri.
Ar fi frumos sa avem la dispozitie un proiect comun, pe care sa il putem referentia in orice proiect. Aici vine in ajutor Microsoft si ne pune la dispozitie Portable Library Tools.
Din pacate acest lucru trebuia facut in momentul in care au lansat Visual Studio 2010, dar niciodata nu este prea tarziu.
Cu ce ne ajuta acest tool? Avem posibilitatea sa avem un assembly comun intre Silverlight, XNA, Windows Phone, XBox si proiecte .NET clasice. Din pacate nu este perfect, inca se lucreaza la el, dar pana acuma nu am avur probleme cu el.
Dupa instalarea acestuia o sa avem un nou template in lista de proiecte la Visual Studio denumit: Portable Class Library. Acest proiect va putea sa fie adaugat ca referinta in orice alt proiect.
Read More
Posted in Assembly comun, Portable Library tool, proiect, referinta, Silverlight, Windows Phone, XBox, XNA | No comments

Monday, 4 April 2011

Cum putem sa verificam tipul unei variabile intr-un SWITCH

Posted on 03:17 by Unknown
Sunt momente cand avem nevoie de a face anumite actiuni in functie de tipul variabilei. Din pacate SWITCH-ul nu ne permite acest lucru in mod direct si suntem nevoiți sa apelam la IF..ELSE.
if (item is int)
{...}
else if (item is string)
{...}
else if (item is DateTime)
{...}
else if (item is ...)
Codul pe care il obtinem nu este foarte lizibil. Daca totusi am vrea sa folosim SWITCH am fi nevoiti sa lucram cu string-uri obtinand ceva asemanator cu:
swtich( v.GetType().Name)
{
case typeof(int).Name:
...
break;
case typeof(DateTime).Name:
...
break;
...
}
Parca e mai bine decat codul precedent, dar ceea ce nu e tocmai bine este ca lucram cu string-uri. O solutie la aceasta problema este sa folosim TypeCode. Acest enum contine toate tipurile built-in din .NET.
switch( Type.GetTypeCode(v.GetType)))
{
case TypeCode.Int32:
...
break;
case TypeCode.DateTime:
...
break;
...
}
In cazul in care lucram doar cu tipurile built-in din .NET totul este perfect. Ceea ce imi place la TypeCode este ca are valori precum "Empty" sau "DBNull". Dar ce ne facem daca lucram cu vectori, cu liste generice sau cu entități proprii. In acest caz TypeCode nu mai poate fi folosit. Pentru acest caz eu am gasit doua rezolvari. O solutie este sa ne folosim de un dicționar de forma:
Dictionary<Type, int>
sau
Dictionary<Type, [CustomEnum]>
In cazul acesta am putea sa adaugam la initializarea dictionarului toate tipurile cu care lucram, iar apoi sa scriem un switch asemanator cu acesta:
swtich( types[v.GetType()])     // types - este o instanta a dictionarului in care avem toate tipurile cu care lucram.
{
case 0: //sau case CustomEnum.Int32
...
break;
case 1: //sau case CustomEnum.DateTime
...
break;
...
}
Urmatoarea solutie pe care o propun este sa ne definim o clasa CustomSwitch iar pentru fiecare case in parte sa ne definim actiunea dorita. Putem sa ne definim modelul si intr-un mod fluent, a.i. la final sa putem aveam ceva asemanator cu:
var customSwitch = new CustomSwitch(v)
.Case<int>( x => ...actiune... );
.Case<DateTime>( x => ...actiune... );
Mai jos puteti sa gasiti implemenentarea pentru CustomSwitch:
public class CustomSwitch
{
public CustomSwitch(Object obj)
{
Obj = obj;
}

public Object Obj { get; set; }
}
public static class CustomSwitchExtensions
{
public static CustomSwitch Case<T>( this CustomSwitch cs,Action<T> action)
where T : class
{
var obj = s.Obj as T;
if (obj != null)
{
action(obj);
return null;
}
}
}
La aceasta implementare s-ar mai putea adauga si un flag care sa permita un mecanism de fall through si prin celelalte case-uri. Din cele doua variante propuse as alege a doua varianta doar in cazul in care as avea nevoie si de un mecanism de fall through. De exemplu in cazul in care as avea nevoie sa execut doua case-uri pentru un obiect( ex. in cazul in care implementateaza interfata IA o actiune, si pentru interfata IB o alta actiune).
Read More
Posted in switch, type | No comments
Newer Posts Older Posts Home
Subscribe to: Comments (Atom)

Popular Posts

  • Service Bus Topic - Automatic forward messages from a subscription to a topic
    Windows Azure Service Bus Topic is a service that enables us to distribute the same messages to different consumers without having to know e...
  • CDN is not the only solution to improve the page speed - Reverse Caching Proxy
    I heard more and more often think like this: “If your website is to slow, you should use a CDN.” Great, CDN is THE solution for any kind of ...
  • Patterns in Windows Azure Service Bus - Message Splitter Pattern
    In one of my post about Service Bus Topics from Windows Azure I told you that I will write about a post that describe how we can design an a...
  • E-Learning Vendors Attempt to Morph Mobile
    The sign should read: " Don't touch! Wet Paint !" I had a good chuckle today after receiving my latest emailed copy of the eLe...
  • Content Types - Level 6: Rich Media
    Level 6: Rich Media NOTE: This is part 7 of 7 and the conclusion of this continuing series; please see earlier posts for more background inf...
  • Publishing our CellCast Widget for iPad
    The rush has been on this week as our development team worked to design a new version of our CellCast Widget specifically for Apple's up...
  • Content Types - Level 5: Courseware
    Level 5: Content and Courseware NOTE: This is part 6 of 7 in a continuing series; please see earlier posts for more background information. ...
  • SQL - UNION and UNION ALL
    I think that all of us used until now UNION in a SQLstatement. Using this operator we can combine the result of 2 queries. For example we wa...
  • Cum sa salvezi un stream direct intr-un fisier
    Cred ca este a 2-a oara când întâlnesc aceasta cerința in decurs de câteva săptămâni. Se da un stream și o locație unde trebuie salvat, se c...
  • Task.Yield(...), Task.Delay(...)
    I think that a lot of person already heard about these new methods. In this post I want to clarify some things about these new methods that ...

Categories

  • .NET
  • .NET nice to have
  • #if DEBUG
  • 15 iunie 2011
  • 15 octombrie 2011
  • 2011
  • abstracta
  • action
  • adaugare
  • ajax
  • Amsterdam
  • Android
  • aplicatii
  • App Fabric
  • Apple iSlate
  • array
  • as
  • ASP.NET
  • AsReadOnly
  • Assembly comun
  • async
  • Asynchronous programming
  • asyncron
  • Autofac
  • AutoMapper
  • az
  • Azure
  • Azure AppFabric Cache
  • Azure backup solution
  • Azure Storage Explorer
  • azure. cloud
  • backup
  • BCP utility
  • bing maps v7
  • BitArray
  • BlackBerry
  • blob
  • BlobContainerPublicAccessType
  • breakpoint
  • bucuresti
  • C#
  • cache
  • CallerMemberName
  • CellCast
  • Certificate
  • CES
  • change
  • ChannelFactory
  • clasa
  • classinitialize
  • clean code
  • click event
  • close
  • Cloud
  • Cluj
  • cluj-napoca
  • Code contracts
  • code retrat
  • codecamp
  • CollectionAssert
  • Compact Edition
  • compara
  • Comparer T .Default
  • CompareTo
  • comparison
  • comunitate
  • concurs
  • Conditional attribute
  • configurare
  • connection string
  • container
  • content type
  • control
  • Convert
  • convertAll
  • convertor
  • cross platform
  • CRUD
  • css
  • custom properties
  • custom request
  • DACPAC
  • Daniel Andres
  • data sync service
  • database
  • date time
  • datetime
  • debug
  • default
  • delegate
  • dependency injection
  • deploy
  • DeploymentItem
  • design patterns
  • Dev de Amsterdam
  • development stoage
  • dictionary
  • diferente
  • digging
  • director
  • Directory.Exist
  • disable
  • dispatcher
  • dispose
  • dropdown
  • dynamic
  • EF
  • email
  • encoding
  • entity framework
  • enum
  • enumerable
  • Environment.NewLine
  • error
  • error 404
  • error handling
  • eveniment
  • event
  • ews
  • excel
  • exception
  • exchange
  • exita
  • explicit
  • export
  • extension
  • field
  • File.Exist
  • finalize
  • fire and forget
  • Fluent interface pattern
  • format
  • func
  • GC.SuppressFinalize
  • generic
  • getdirectoryname
  • globalization
  • gmail
  • hackathon
  • Hadoop
  • handle
  • HTML
  • html 5
  • Html.ActionLink
  • http://www.blogger.com/img/blank.gif
  • HttpModule
  • IComparable
  • IE
  • ienumerable
  • IIS
  • image
  • implicit
  • import
  • int
  • internationalization
  • Internet Explorer
  • interop
  • Ioc
  • IP Filter
  • iPhone
  • iQuest
  • IStructuralEquatable
  • ITCamp
  • itspark
  • java script
  • javascript
  • July 2012
  • KeyedByTypeCollection
  • KeyNotFoundException
  • Kinect SDK
  • lambda expression
  • LightSwitch Microsoft Silverlight
  • linq
  • list
  • lista
  • lista servicii
  • liste
  • Live Connect
  • Live ID
  • load
  • localization
  • lock
  • m-learning
  • MAC
  • Mango
  • map
  • mapare
  • mapare propietati
  • messagequeue
  • meta properties
  • method
  • MethodImpl
  • Metro App
  • Microsoft
  • Microsoft Sync Framework
  • mlearning
  • mlearning devices
  • Mobile Apps
  • mobile in the cloud
  • mobile learning
  • mobile services
  • Mobile Web
  • mongoDb
  • monitorizare
  • msmq
  • multitasking
  • MVC
  • MVC 3
  • MVVM
  • namespace
  • nextpartitionkey
  • nextrowkey
  • Ninject
  • nivel acces
  • no result
  • normalize
  • nosql
  • null expcetion
  • null object pattern
  • NullReferenceException
  • OAuth API
  • office
  • offline
  • Open ID
  • openhackeu2011
  • operations
  • operator
  • optimization
  • option
  • outputcache
  • OutputCacheProvider
  • override
  • paginare
  • pagination
  • path
  • persistare
  • Portable Library tool
  • Post event – CodeCamp Cluj-Napoca
  • predicate
  • predictions
  • prezentare
  • process
  • proiect
  • property
  • propietati
  • query
  • ReadOnlyCollection
  • ReadOnlyDictionary
  • referinta
  • reflection
  • remote
  • reply command
  • request
  • request response
  • resouce
  • REST
  • REST Client
  • RESTSharp
  • ronua
  • rss
  • rulare
  • salvare in fisier
  • sc
  • schimbare timp
  • select
  • select nodes
  • send
  • serializare
  • serialization
  • Server.Transfer. Resposen.Redirect
  • service bus
  • ServiceBase
  • servicecontroller
  • sesiune
  • session
  • Session_End
  • Session_Start
  • setup
  • Sibiu
  • signalR
  • Silverlight
  • sincronizare
  • Single Responsibility Principle
  • SkyDrive
  • skype
  • smartphones
  • smtp
  • Snapguide
  • sniffer
  • socket
  • solid
  • spec#
  • sql
  • Sql Azure
  • SQL CE
  • sql server 2008 RC
  • SRP
  • startuptype
  • stateful
  • stateless
  • static
  • stergere
  • store
  • store procedure
  • stream
  • string
  • string.join
  • struct
  • StructuralEqualityComparer
  • submit
  • switch
  • Symbian
  • Synchronized
  • system
  • tabele
  • table
  • techEd 2012
  • tempdata
  • test
  • testcleanup
  • testinitialize
  • testmethod
  • thread
  • timer
  • ToLower
  • tool
  • tostring
  • Total Cost Calculator
  • trace ASP.NET
  • transcoding
  • tuplu
  • tutorial
  • TWmLearning
  • type
  • unit test
  • unittest
  • UrlParameter.Optional
  • Validate
  • validation
  • verificare
  • video
  • view
  • ViewBag
  • virtual
  • visual studio
  • VM role
  • Vunvulea Radu
  • wallpaper
  • WCF
  • WebBrower
  • WebRequest
  • where clause
  • Windows
  • windows 8
  • Windows Azure
  • Windows Azure Service Management CmdLets
  • windows live messenger
  • Windows Mobile
  • Windows Phone
  • windows service
  • windows store application
  • Windows Task
  • WinRT
  • word
  • workaround
  • XBox
  • xml
  • xmlns
  • XNA
  • xpath
  • YMesseger
  • Yonder
  • Zip

Blog Archive

  • ►  2013 (139)
    • ►  November (17)
    • ►  October (12)
    • ►  September (10)
    • ►  August (7)
    • ►  July (8)
    • ►  June (15)
    • ►  May (12)
    • ►  April (17)
    • ►  March (16)
    • ►  February (9)
    • ►  January (16)
  • ►  2012 (251)
    • ►  December (9)
    • ►  November (19)
    • ►  October (26)
    • ►  September (13)
    • ►  August (35)
    • ►  July (28)
    • ►  June (27)
    • ►  May (24)
    • ►  April (18)
    • ►  March (17)
    • ►  February (20)
    • ►  January (15)
  • ▼  2011 (127)
    • ►  December (11)
    • ►  November (20)
    • ►  October (8)
    • ►  September (8)
    • ►  August (8)
    • ►  July (10)
    • ►  June (5)
    • ►  May (8)
    • ▼  April (9)
      • Cum putem sincroniza un director cu un blob din cl...
      • Single Responsibility Principle
      • Cum sa sincronizam mai multe baza de date SQL Azur...
      • Adnotare enum cu mai multe valori
      • Finala concursului scolii de cloud
      • Cum sa configuram Azure development storage pentru...
      • Eveniment .NET in Cluj-Napoca 26 27 mai 2011
      • Assembly comun intre mai multe tipuri de proiecte ...
      • Cum putem sa verificam tipul unei variabile intr-u...
    • ►  March (14)
    • ►  February (20)
    • ►  January (6)
  • ►  2010 (26)
    • ►  December (1)
    • ►  November (1)
    • ►  October (1)
    • ►  June (2)
    • ►  May (1)
    • ►  April (4)
    • ►  March (1)
    • ►  February (1)
    • ►  January (14)
Powered by Blogger.

About Me

Unknown
View my complete profile