Windows Mobile Support

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

Thursday, 29 September 2011

Eveniment: Mobile in the Cloud (13 octombrie - Sibiu, 8 noiembrie - Cluj-Napoca)

Posted on 23:43 by Unknown
iQuest v-a pregătit 2 eveniment extrem de interesante, unde urmează sa țin și eu o prezentare. Sa nu ratați prezentarea lui Bernd Kullick care se anunța extrem de interesanta. Intrarea este libera. Va așteptam pe toți!
Interesat să ții pasul cu cea mai nouă tehnologie și să afli tot ce e nou de la specialiștii cu experiență?
Pe 13 octombrie la Centrul de afaceri Sibiu și pe 8 noiembrie la Hotel City Plaza Cluj-Napoca ai oportunitatea de a participa la evenimentul Mobile in the Cloud, un eveniment marca iQuest cu sprijinul Microsoft. Vei afla cele mai noi informații despre tehnologiile de cloud și mobile development de la profesioniștii care lucrează la probabil cel mai mare proiect de Cloud din Europa.
Programul pe care ți-l propunem este:
9.00 – 9.30 – Registration & Welcome coffee
9.30 – 9.45 – Keynote
9.45 – 10.15 – Introduction in Microsoft Windows Azure cloud platform, Zoli Herczeg, Evangelist, Microsoft
10.15 – 10.45 – Azure project showcase: EyeOnEarth, Bernd Kullick, Senior Consultant – Windows® Azure, Microsoft Services Germany
10.45 – 11.00 – Coffee break
11.00 – 11.30 – Development of cloud connected Smartphone Applications, Petru Jucovschi, Evangelist, Microsoft
11.30 – 12.30 – Sudoku7: A Windows Phone 7 and Azure Development Experience, Radu Vunvulea, iQuest
12.30 – lunch
La Sibiu, evenimentul se va desfasura in sala de conferinta din corpul A, etajul 2, al cladirii Centrul de Afaceri Sibiu, iar la Cluj-Napoca, locatia este sala Ballroom a hotelului City Plaza Cluj. Detalii suplimentare si update-uri se gasesc pe pagina dedicata evenimentului www.iquest.ro/mobileinthecloud .
Participarea este LIBERĂ, în limita locurilor disponibile – rezervați-vă chiar acum unul pentru Mobile in the Cloud!
Ne vedem acolo!
Read More
Posted in Cluj, eveniment, iQuest, mobile in the cloud, prezentare, Sibiu | No comments

Tuesday, 27 September 2011

Unit test classes - using a base class

Posted on 11:11 by Unknown
Mai mult ca sigur cu toții am scris teste. 1,2, 3 .. n clase de teste. Într-un anumit moment ajungem sa dorim sa refactorizam codul, iar o parte din logica (setup-ul testelor) sa îl ducem în clasa de baza.
public class Test1: BaseTest
{
    [TestMethod]
    public void Method1Test()
    {
        Console.WriteLine("Method1Test");
    }

    [TestInitialize]
    public void TestInit()
    {
        Console.WriteLine("TestInitialize");
    }
   
    [TestCleanup]
    public void TestCleanup()
    {
        Console.WriteLine("TestCleanup");
    }
   
    [ClassInitialize]
    public static void ClassInit(TestContext testContext)
    {
        Console.WriteLine("ClassInit");
    }      
}
Sa ne uitam acuma la clasa de baza:
public class BaseTest{   
    [TestInitialize]
    public void BaseTestInit()
    {
        Console.WriteLine("BaseTestInitialize");
    }
   
    [TestCleanup]
    public void BaseTestCleanup()
    {
        Console.WriteLine("BaseTestCleanup");
    }
   
    [ClassInitialize]
    public static void BaseClassInit(TestContext testContext)
    {
        Console.WriteLine("BaseClassInit");
    }      
}
Totul pare in regula, in mod normal la rularea testului va asteptati sa ruleze in felul urmator:
  • BaseClassInit
  • ClassInit
  • BaseTestInit
  • TestInit
  • Method1Test
  • TestCleanup
Dar o sa avem parte de o surpriza:
  • ClassInit
  • BaseTestInit
  • TestInit
  • Method1Test
  • TestCleanup
BaseClassInit nu a fost apelat. Chiar dacă ne-am aștepta ca metoda din clasa de baza sa fie apelata, iar în alte framework-uri este suportat (NUnit) acest comportament, M$ nu ne prea ajuta în acest caz.
La aceasta problema eu am văzut 3 posibile soluții, de la caz la caz ele pot sa fie aplicate sau nu:
  1. clasa de teste care mosteneste clasa de baza sa apeleze explicit BaseClassInit. Dar acest lucru ne obliga avem o metoda decorata cu ClassInitialize in fiecare clasa derivata (poate nu ne dorim acest lucru);
  2. in unele situații, putem sa mutam logica din BaseClassInit în constructorul static:
static BaseTest()
{
    Console.WriteLine("BaseClassInit");
}
      3.  prin reflection putem sa facem un hook si sa ne implementam noi acest mecanism. Dar este destul de complex si nu cred ca merita;
Din fericire avem cateva solutii la indemana, dar uneori dupa o refactorizare ne putem trezi ca ne cad testele si sa nu gasim cauza exacta.
Read More
Posted in classinitialize, testcleanup, testinitialize, testmethod, unit test | No comments

Windows Live Messenger - Error 81000490

Posted on 09:00 by Unknown
De cateva saptamani primesc aceasta eroare la logare. Problema apare doar pe mașina mea și doar cu contul meu.
Pana acuma nu aveam nevoie de Live Messenger, dar incepand de azi a devenit un have to. Am rasfoit putin internetul si am gasit cauza.
Directorul Contatcs devine corupt, din aceasta cauza nu va mai puteți loga.
Pentru a revolza problema este nevoie sa stergeti directorul Contacts din locatia urmatoare:
C:\Users\[username]\AppData\Local\Microsoft\Windows Live\Contacts
Read More
Posted in error, windows live messenger | No comments

Microsoft.WindowsAzure.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

Posted on 00:34 by Unknown
Ieri am incercat sa deschid un proiect VS2010 pentru Windows Azure. Acesta continea un web role si un worker role. Dar din păcate am avut parte de o surpriza:
"...Microsoft.WindowsAzure.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

Deșii alte soluții funcționau perfect, aveam template-ul de proiect instalat, totuși nu puteam sa deschid web role-ul și nici worker role-ul pentru soluția respectiva.
Verific dacă am versiunea corecta de emulator pentru Windows Azure și tot ce ii related. Totul este la zi, aceiași versiune. Problema apare doar la aceasta solutie.
Îmi aduc aminte ca am ultima versiunea de Lightswitch (2011), care la instalare nu i-a plăcut ceva de versiunea de emulator pentru cloud pe care o aveam instalata, asa ca:
  1. dezinstalez Lightswitch;
  2. dezinstalez emulatorul de cloud;
  3. instalez din nou emulatorul de cloud;
Problema rezolvata :-).
Read More
Posted in Cloud, Windows Azure | No comments

Thursday, 22 September 2011

MVC 3 - Custom view load based on the source of the request

Posted on 07:47 by Unknown
Pornim de la următoarea problema:
Se da o aplicație ASP MVC 3. Se dorește sa încarce view-uri custom pentru fiecare tip de device care o accesează. De exemplu în cazul în care request-ul vine de la un iPhone sau un Windows Phone 7 atunci view-urile care se încarcă o sa fie diferite.
MVC suporta deja crearea unei versiuni de view pentru mobile device, dar acest lucru nu o sa ne fie de ajuns. In funcție de rezoluție sau de brower o sa dorim sa încărcam view-uri total diferite. Informațiile despre ce tip de device accesează resursa le putem găsii in user-agent.
Proprietatea user agent-ul se poate găsii în următoarea locație
HttpContext.Request.UserAgent
Aceasta valoare o sa fie de tip string, unde este necesar sa cautam manual valoarea pe noi o cautam. Pentru IPhone user agent-ul o sa aibe valoarea:
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
Iar un request de la un Windows Phone 7 o sa aibe următoarea valoare:
Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) Asus;Galaxy6
Sa presupunem ca o sa avem următoarea structura de fișiere sub directorul Views
Views
Home // Nume control
Index.cshtml
IPhone
Index.cshtml
WF7
Index.cshtml
Pentru a definii maparea la views-uri astfel încît sa fie rezolvate cu view-ul dorit este nevoie sa implementam interfața IViewEngine și sa ne definim un ViewEngine custom. In cadrul acestui ViewEngine pe metodele FindPartialView si FindView o sa fie nevoie sa verificam dacă user agent-ul este de la un anumit agent. In cazul în care request-ul vine de la un anumit device custom atunci este nevoie sa transmitem path-ul unde se găsește view-ul respectiv.
Altfel ajunge sa returnam o instanta noua a ViewEngineResult. Deoarece aceasta nu o sa conțină nici un view găsit, căutarea se va face in continuare în alt ViewEngine din colecție.
public class ApplePhoneViewEngine : IViewEngine
{
...
public ViewEngineResult FindPartialView(ControllerContext context, string viewName, bool useCache)
{
return context.HttpContext.Request.UserAgent.StartWith("iPhone)
? BaseViewEngine.FindPartialView(context, "IPhone/" + viewName, false)
: new ViewEngineResult(new string[] { });
}
...
}
Ne-a mai rămas sa înregistram view engine-ul pe care noi l-am definit mai sus. In Application_Start din Global.asax.cs este nevoie sa adaugăm următorul cod:
ViewEngines.Engines.Add(new ApplePhoneViewEngine());
Codul se poate refactoriza destul de frumos, dar va las pe voi sa faceți acest lucru. Daca doriți sa aflați mai multe informații puteți sa aruncați o privire aici: https://raw.github.com/gist/1077436/a35a62ce4be85ab439dacf44205792ca9ff2791d/customviewengine.cs
Read More
Posted in custom request, MVC 3, view | No comments

Tuesday, 20 September 2011

How to disable validation for a submit button

Posted on 01:11 by Unknown
Pornim de la o aplicate MVC 3 pe care avem o forma cu mai multe controale de tip input-submit. Se doreste ca unul sau mai multe butoane care fac submit sa nu facă și validarea modelului client-side.
<form ... >
....
<input id="bSave" type="submit" value="Save" />
<input id="bAddToy" type="submit" value="Add toy" />
</form>
O solutie care pare la indemana este ca la al doilea buton din exemplu sa fie transformat într-un link (ancora). Din CSS poate sa fie făcut sa arate exact ca un buton de input iar la click poate sa apeleze un jQuery care apelează acțiunea dorita făcînd submit și la model.
O a doua soluție găsita, care mi s-a părut extrem de simpla și care rezolva aceasta problema este adăugarea class="cancel" la butonul de input la care dorim sa nu facem validarea:
<input id="bAddToy" type="submit" value="Add toy" class="cancel" />
Voi ce propuneri aveți?
Read More
Posted in disable, MVC 3, submit, validation | No comments

Monday, 19 September 2011

How to integrate LightSwitch and WP7 in the Cloud.

Posted on 00:26 by Unknown
Si sa începem cu ceva ușor. Mai jos o sa găsiți un link la un tutorial video despre cum putem sa facem designul la o aplicație pe Cloud, care sa aibe parte de client pe WP7, iar partea de managment sa fie pe LightSwitch.
Deși poate sa para simplu la prima vedere, o sa descoperiți ca din cauza unor limitări care LightSwitch le are momentan, lucrurile se pot complica uneori. Va las sa descoperiți mai multe în tutorialul următor.
http://webapps.daniweb.ro/pages/registration_detail/100
Read More
Posted in Cloud, LightSwitch Microsoft Silverlight, video, Windows Phone | No comments

Sunday, 18 September 2011

Back from vacation

Posted on 09:11 by Unknown
Am revenit in Cluj-Napoca. Gata cu vacanta, revenim la cotidian. Dupa o luna de pauza, incepand de maine o sa postez in continuare.
Daca va intrebati unde am fost o luna intreaga, o sa va dau un singur indiciu:
Read More
Posted in | 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)
      • Eveniment: Mobile in the Cloud (13 octombrie - Sib...
      • Unit test classes - using a base class
      • Windows Live Messenger - Error 81000490
      • Microsoft.WindowsAzure.targets" was not found. Con...
      • MVC 3 - Custom view load based on the source of th...
      • How to disable validation for a submit button
      • How to integrate LightSwitch and WP7 in the Cloud.
      • Back from vacation
    • ►  August (8)
    • ►  July (10)
    • ►  June (5)
    • ►  May (8)
    • ►  April (9)
    • ►  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