Windows Mobile Support

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

Saturday, 10 November 2012

Caliburn.Micro + Windows 8 App - How to send parameter between ViewModel's

Posted on 22:47 by Unknown
What do you think about the development process in a C#/XAML app for Windows 8. When we are starting developing an application for this platform we should never forget about MVVM. A great framework for this is Caliburn.Micro. It is a pretty simple and clean framework, with a lot of extensions points.
When we will try to navigate between screens we will use INavigationService.NavigateToViewModel<TDestionViewModel>. This will work great.
Navigation.NavigateToViewModel<MyFooPageViewModel>();
Each ViewModel need to implement the Screen class. This will give access to all the features that we need in the view mode. But what about sending data from one view to another. The method NavigateToViewModel can accept an parameter of type object.
Navigation.NavigateToViewModel<MyFooPageViewModel>(“some data”);
Looks good but you will be surprised when you will try to get this data in your destination ViewModel. You will not be able to find this data anywhere.
To be able to access this parameter, you’ll need to define a parameter in your destination ViewModel named Parameter, with the same time as your parameter that you specify when you call the navigation method.
public class MyFooViewModel : Screen
{

public string Parameter {
get {...}
set {...}
...
}
Don't forget that the Parameter property is set after the ViewModel is created. Because of this, in the setter you should process the input data.
Enjoy!
Read More
Posted in MVVM, windows 8 | No comments

Thursday, 8 November 2012

How to fix "Could not load file or assembly 'msshrtmi.dll' ... when you are using .NET 4.5 and Windows Azure 1.8 SDK

Posted on 11:58 by Unknown
vIf you started to work with Windows Azure SDK 1.8 on a .NET 4.5 projects, maybe you received the following error message:
The type initializer for 'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' threw an exception.
…
{"Could not load file or assembly 'msshrtmi.dll' or one of its dependencies. A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)":"msshrtmi.dll"}
This problem usually appears in a console or desktop application when you are trying to use storage service from Windows Azure (blobs, tables or queues).
The solution is pretty simple, but can give you a lot of headaches until you find what the problem is. The code is okay; you didn’t make any kind of mistake. You only need to change some configurations from app.config.
You will need to add “useLegacyV2RuntimeActivationPolicy” attribute to the startup node and set it to true. This flat notifies the .NET framework that you have dependencies to older API and make them run in the older runtime.
Next step is to disable “NetFx40_LegacySecurityPolicy”. In this way you notify the runtime not to use legacy CAS (Code Access Security) policy.
You’re configuration file should look something like this:
  <startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

<runtime>
<NetFx40_LegacySecurityPolicy enabled="false" />
</runtime>
These are the steps that need to be done to get rid of this execution.
Read More
Posted in .NET, Azure, error, Windows Azure | No comments

Wednesday, 7 November 2012

Today Software Magazine number 6 - Message Patterns using Windows Azure Service Bus

Posted on 08:57 by Unknown
This week, Today Software Magazine lunched a new number of their magazine. Great article about software development can be found in this paper. Great articles about SEO, to clean code and cloud can be found in this number.
I wrote an article about message patterns and Windows Azure Service Bus Topic. In this article I presented two cases when message patterns in combination with Windows Azure Service Bus Topic can make our life easier and to be more prepared for change.
The current number can be downloading from the following link: http://www.todaysoftmag.com/pdf/TSM_6_2012_ro.pdf 
At the lunch event I made a short presentation of my article. I added to this blog post my slides:

Message pattern in windows azure service bus from Radu Vunvulea
Read More
Posted in Azure, service bus, Windows Azure | No comments

How to start Windows Azure emulator when running unit tests

Posted on 00:02 by Unknown
Unit test need to be written even if we are working with on-premise services or with services from cloud. When working with Windows Azure, there are times when we want to write some integration test for Windows Azure tables, blobs or queues.
For these cases we don’t want to hit the Windows Azure from the cloud. This would increase or monthly subscription costs. Usually for this this Windows Storage emulator is used in combination with development storage account.
When we are on a development machine, where we already have Windows Azure Emulator stared we will not have any kind of problems. But will happen on a machine where Windows Azure Emulator is not started. All the tests will fail.
We can write a code in the class initialize step that star the emulator. In the end, the emulator is only a process that can be started from the command line.
The code that we would need to use will look something like this:
public class CloudStorageEmulatorShepherd
{
public void Start()
{
try
{
CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;

CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("test");
container.CreateIfNotExist(
new BlobRequestOptions()
{
RetryPolicy = RetryPolicies.NoRetry(),
Timeout = new TimeSpan(0, 0, 0, 1)
});
}
catch (TimeoutException)
{
ProcessStartInfo processStartInfo = new ProcessStartInfo()
{
FileName = Path.Combine(
@"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator",
"
csrun.exe"),
Arguments =
@"/devstore",
};

using (Process process = Process.Start(processStartInfo))
{
process.WaitForExit();
}
}
}
}
The path to the emulator can be different, based on Windows Azure version. This path can be extracted in the configuration file.  We are testing if the emulator is started by trying to creating a container.  It is very important to set the  NoRetry policty.
And in our unit test we would need something like this:
[ClassInitialize()]
public static void ClassInit(TestContext context)
{
CloudStorageEmulatorShepherd shepherd= new CloudStorageEmulatorShepherd();
shepherd.Start();
}
In this way, we will be able to run integration test with Windows Azure without any kind of problem.
Read More
Posted in Azure, unit test, Windows Azure | No comments

Sunday, 4 November 2012

How to view Skype messages older than 3 months

Posted on 08:17 by Unknown
This blog post will not be about programing. In this morning, while I was playing with my Windows Phone 7 I run our off battery. Of course the phone closed. The only problem was the PIN, I don’t remember my SIM pin (this is the first time in 7 months when I closed the phone).
I knew that I have the SIM pin in my Skype history, but the message is older than 3 months, because of this I could not access the history from that period of time. The good part with Skype is even if is not displaying all the history, he still persist the older messages.
All the messages can be found in the “%appdata%\skype” in the directory with your Skype user. The easiest way to go at this location is to open a command line and write “%appdata%\skype”. The file that stores all this content is main.db.
Don’t worry about how you can open this file of is encrypted. It is a simple SQLite file. Is not encrypted and can be pen very easily. A good tool for this purpose is Skype Log View. He will automatically open the file for you.
In conclusion, if you need messages older than 3 months from Skype, don’t wary. The message still exists on your PC. In my case, I rediscover the pin of my SIM.
Read More
Posted in skype | No comments

Friday, 2 November 2012

Free online event about Windows Azure - November 14, 2012

Posted on 00:37 by Unknown


If you work with Windows Azure and you want to learn more about this great cloud ecosystem or you want to know what can be done on Windows Azure and what are the main features than…
Microsoft will host Windows AzureConf, a free online event that is done for Windows Azure community. You will be able to see a lot of sessions about Windows Azure. This will be streamed live using Channel 9.
When:  November 14, 2012
When: all over the world - live stream
If you want to register or read more about this event follow this link.
Read More
Posted in Azure, Windows Azure | No comments

Thursday, 1 November 2012

Duplicate Detection in Windows Azure Service Bus

Posted on 03:37 by Unknown
One great feature of Windows Azure Service Bus is the ability to identify the messages that are duplicate. Using this feature we can automatically remove messages from Service Bus Queue or Topic when we have more than one the same message. By default this mechanism is deactivated, but we can activate it very easily.
Let’s see how this mechanism works. When we activate this mechanism Windows Azure Service Bus will start to store a history with our messages. This period of time can be configures from only a few minutes to days. If a duplicate message is send to Service Bus, the service will automatically ignore the message.
Because the content of each message need to be serializable, the duplicate detection mechanism will look to the serialized items that were added to the message. If the content is the same, than the message will be consider as duplicate. For example we have the following class that we add to each message:
[DataContract]
public Foo
{
[DataMember]
public string Id { get; set;}
[DataMember]
public string Name { get; set;}
}
If we will add two messages with objects of type Foo with the same id and name, than the second message will be consider duplicate. We will not receive any kind of notification when we will try to send the second message.
MessagingFactory factory = MessagingFactory.Create([uri], [tokenProvider]);
MessageSender sender = factory.CreateMessageSender("FooQueue")

Foo obj1 = new Foo() { Id = “1”, Name = “One” };
BrokeredMessage message1 = new BrokeredMessage(obj1);

Foo obj2 = new Foo() { Id = “1”, Name = “One” };
BrokeredMessage message2 = new BrokeredMessage(obj2);

sender.Send(message1);
sender.Send(message2);
It is very important to remember that the duplicate detection mechanism will use the space from our Service Bus to persist the old messages. Because of this it is very important to be careful when we set the history time period.
This configuration can be made from two places. One is from portal, when we can activate this feature and set the history time period. This feature will be available only if you select “Custom create”.

The second place from where this can be configuration can done is from code. In the moment when we create a new Service Bus Topic or Service Bus Queue we can specify in the create command. To be able to do this we will need to create a TopicDescription or a QueueDescription object. In this object we can activate this functionality and set the history time period.
Topic:
TopicDescription fooTopicDescription = new TopicDescription("FooTopic")
{
RequiresDuplicateDetection = true,
DuplicateDetectionHistoryTimeWindow = new TimeSpan(10, 0, 0),
};
namespaceManager.CreateTopic(fooTopicDescription);
Queue:
QueueDescription fooQueueDescription = new QueueDescription("FooQueue")
{
RequiresDuplicateDetection = true,
DuplicateDetectionHistoryTimeWindow = new TimeSpan(10, 0, 0),
};

namespaceManager.CreateQueue(fooQueueDescription);
These policy settings of Service Bus Queue or Service Bus Topic can be changed only on creating time. After this, if we want to change the history time period or to deactivate it, it will not be possible. To be able to do this, you will need to delete the resource and recreate it.
This is a great feature that can be used when we need to avoid duplicate messages to be added to our Service Bus.
Read More
Posted in Azure, service bus, Windows Azure | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • 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...
  • 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 ...
  • 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...
  • NetCamp 2012 - Windows 8 development experience
    During this week I participate to NetCamp 2012.  This was the 6th NetCamp event and is organizing by Evensys. NetCamp is a dedicated event f...
  • 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...
  • Password/Token/PIN definition
    Password, Token, PIN, Passcode… every day we use this items when we need to authenticate in different systems. I observed that there are tim...
  • Shared Access Signature and URL encoding on Windows Azure
    Playing a little with Shared Access Signature was quite nice. In this moment this new functionality has a great potential. Playing a little ...
  • Content Types - Level 4: Reference
    Level 4: Reference Materials & Static Content NOTE: This is part 5 of 7 in a continuing series; please see earlier posts for more backgr...
  • 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. ...

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)
      • Service Bus - Optimize consumers using prefetch an...
      • Extract relative Uri using MakeRelativeUri method
      • Sync Group - Let's talk about Performance
      • [PostEvent] Slides from MSSummit 2013, Bucharest
      • How to get the instance index of a web role or wor...
      • Sync Group - A good solution to synchronize SQL Da...
      • Throttling and Availability over Windows Azure Ser...
      • How to monitor clients that access your blob storage?
      • Digging through SignalR - Dependency Resolver
      • [Event] Global Day of Coderetreat in Cluj-Napoca! ...
      • Windows Azure Service Bus - What ports are used
      • Debugging in production
      • Simple load balancer for SQL Server Database
      • [PostEvent] MSSummit 2013, Bucharest
      • How to read response time when you run a performan...
      • VM and load balancer, direct server return, availa...
      • Bugs that cover each other
    • ►  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)
    • ►  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