European Silverlight 4 & Silverlight 5 Hosting BLOG

BLOG about Silverlight 5 Hosting and Its Techologies - Dedicated to European Windows Hosting Customer

HostForLife.eu Proudly Launches Premier European SQL 2008 R2 Hosting

clock May 24, 2011 06:30 by author Scott

HostForLIFE.eu was established to cater to an under served market in the hosting industry; web hosting for customers who want excellent service. HostForLIFE.eu – a cheap, constant uptime, excellent customer service, quality, and also reliable hosting provider in advanced Windows and ASP.NET technology. We proudly announces the availability of the SQL 2008 R2 hosting in our entire servers environment. HostForlife customers have a choice between SQL Server 2008 and SQL 2008 R2 when creating a database from inside the HostForLife hosting control panel.

SQL Server 2008 R2 delivers several breakthrough capabilities that will enable your organization to scale database operations with confidence, improve IT and developer efficiency, and enable highly scalable and well managed Business Intelligence on a self-service basis for your users. For more information on SQL Server 2008 R2, visit the Microsoft website, http://www.microsoft.com/sqlserver/en/us/default.aspx.

Some of the capabilities that customers and partners will benefit from include:

1. PowerPivot: a managed self-service analysis solution that empowers end users to access, analyze and share data across the enterprise in an IT managed environment using Excel 2010 and SharePoint Sever 2010.
2. Master Data Services: helps IT organizations centrally manage critical data assets companywide and across diverse systems, and enables more people to securely manage master data directly, and ensure the integrity of information over time.
3. Application and Multi-server Management: helps organizations proactively manage database environments efficiently at scale through centralized visibility into resource utilization and streamlined consolidation and upgrade initiatives across the application lifecycle.
4. Report Builder 3.0: report authoring component with support for geospatial visualization. This new release provides capabilities to further increase end user productivity with enhanced wizards, more powerful visualizations, and intuitive authoring.
5. StreamInsight: a low latency complex event processing platform to help IT monitor, analyze and act on the data in motion to make more informed business decisions in near real-time.

For more information about this new product, please visit our site http://hostforlife.eu/SQL-2008-R2-European-Hosting.aspx.

About HostForLife

As a leading small to mid-sized business web hosting provider, we strive to offer the most technologically advanced hosting solutions available to our customers across the world. Security, reliability, and performance are at the core of our hosting operations to ensure each site and/or application hosted on our servers is highly secured and performs at optimum level. Unlike other web hosting companies, we do not overload our servers.



European Silverlight 4 Hosting :: Command Control in Silverlight 4

clock May 23, 2011 06:38 by author Scott

In this article we will take this proof of concept and demonstrate how through the use of commanding and binding we can virtually eliminate all code behind and implement to a strong MVVM architectural pattern.

Getting Started

I think few would argue with the value of a strong separation of concerns within the design of an application.  Over the last year the MVVM pattern has gained popularity in the Silverlight development community.  One of the challenges that developers faced in previous versions of the framework was the lack of commanding support in Silverlight.  Without commanding many developers had to write there own attached properties, or worse  yet, resort to event handling in their code behind, just to deal with responding to a button being clicked.  Today both the button and HyperlinkButton support commanding.

Model-View-ViewModel

Even though our sample application will only be a single page, we will still implement the MVVM pattern to eliminate any code in code behind of our MainPage.xaml.  MVVM requires that for every View we have a corresponding ModelView (MV) class.  Our View will set its DataContext equal to this class and bind all of the views data through public properties.


using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;


using System.ComponentModel;

namespace VideoCaptureExample
{
    public class MainPageViewModel : INotifyPropertyChanged
    {
    . . . . .
    }
}


In our mainPage.xaml we will initialize our ViewModel class and set our LayoutRoot DataContext to this resource.  If our ViewModel required additional context or possibly aservices be injected into its constructor I would opts to use a ViewModel locator that has been stored as a ApplicationResource.

<UserControl x:Class="VideoCaptureExample.MainPage"
    . . . .
    d:DesignHeight="360" d:DesignWidth="610">
    <UserControl.Resources>
        <local:MainPageViewModel x:Key="MainViewModel"/>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White"         DataContext="{Binding Source={StaticResource MainViewModel}}">
    . . . . . .
    </Grid>
</UserControl
>

SaveCommand


One of the great advantages to commanding is encapsulation.  When an application has a function like “Save” its very likely that more then one action can trigger this behavior.  In our example we intend to allow the save to be triggered from a button, right click context menu as well a something being dragged to a specific location on the screen.  Creating a command has two parts.  First we need to write a class that implements the ICommand interface and second expose it through our view model..  The following is the general format of such a class.  When I create commands in Silverlight I like to inject my ViewModel in the event I need to check the state of my view before executing the command

using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Windows.Input;


namespace VideoCaptureExample
{
    public class SaveCommand : ICommand
    {
        private MainPageViewModel _viewModel;

        public SaveCommand(MainPageViewModel viewModel)
        {
            _viewModel = viewModel;
        }


        public event EventHandler CanExecuteChanged;
        public bool CanExecute(object parameter)
        {
            return (_viewModel.SelectedCapture != null) ? true : false;
        }


        public void Execute(object parameter)
        {
            Capture capture = parameter as Capture;
            if (capture != null)
            {
             . . . . .
            }
        }


        protected virtual void OnCanExecuteChanged(EventArgs e)
        {
            var canExecuteChanged = CanExecuteChanged;

            if (canExecuteChanged != null)
                canExecuteChanged(this, e);
        }


        public void RaiseCanExecuteChanged()
        {
            OnCanExecuteChanged(EventArgs.Empty);
        }
    }
}


In the above snippet there are three requirements when implementing the ICommand interface.  First we need to define a function called CanExecute.  This will be called to determine if a buttons enabled state is set to true or false.  What is great about CanExecute is that it eliminates custom business logic to determine if a command can be fired.  The second is an Execute method that is called when the user clicks a button referenced by the command.  All of my “Save” logic will be placed inside of this method.  A argument is passed to this method that allows data to be injected into the call. Setting CommandParameter on a Button will define what gets passed during the execute. The last requirement is the CanExecuteChanged event.  We can fire this event anytime we want buttons that are bound to this command to re-evaluate there enabled state.

To implement this command in our ViewModel, we need to expose the class as a property.

private SaveCommand _saveCommand;
public SaveCommand Save
{
    get
    {
        if (_saveCommand == null)
            _saveCommand = new SaveCommand(this);
        return _saveCommand;
    }
}


Once exposed, we can reference the SaveCommand through simple binding applied to the Button’s Command property and CommandParameter.  Now each time that a user clicks the “Save” button our command will be fired.

<Button x:Name="saveBtn" Content="Save"
    Width="70" Height="22" Margin="10,0,0,0"
    HorizontalAlignment="Right" VerticalAlignment="Center"
    Command="{Binding Save}"
    CommandParameter="{Binding ElementName=listImages, Path=SelectedItem}"/>


DelegateCommand

More often than not our command is not needed outside of the context of a single view.  If this is the case, we can delegate the implementation of the CanExecute and Execute to the ViewModel.  Lets say for example you have a command like “StartCapture” that is only appropriate for a single View.  In this scenario its a lot easier to have the business logic directly in the ViewModel than in a separate class. 

Using the same ICommand interface, we can create a reusable class that delegates both of these methods.  The following is the most popular approach.

using System;
using System.Windows.Input;

namespace VideoCaptureExample
{
    public class DelegateCommand : ICommand
    {
        private Predicate<object> _canExecute;
        private Action<object> _method;
        public event EventHandler CanExecuteChanged;

        public DelegateCommand(Action<object> method)
            : this(method, null)
        {
        }

        public DelegateCommand(Action<object> method, Predicate<object> canExecute)
        {
            _method = method;
            _canExecute = canExecute;
        }

        public bool CanExecute(object parameter)
        {
            if (_canExecute == null)
            {
                return true;
            }

            return _canExecute(parameter);
        }

        public void Execute(object parameter)
        {
            _method.Invoke(parameter);
        }


        protected virtual void OnCanExecuteChanged(EventArgs e)
        {
            var canExecuteChanged = CanExecuteChanged;

            if (canExecuteChanged != null)
                canExecuteChanged(this, e);
        }


        public void RaiseCanExecuteChanged()
        {
            OnCanExecuteChanged(EventArgs.Empty);
        }
    }
}

To implement this DelegateCommand class we do the following in our ViewModel.  Notice how our constructor gets passed two delegates, one for  CanExecute and one for Execute.  Calling this command from XAML is identical to our SaveCommand class.

private DelegateCommand _captureCommand;
public DelegateCommand Capture
{
    get
    {
        if (_captureCommand == null)
            _captureCommand = new DelegateCommand(OnCapture, CaptureCanExecute);

        return _captureCommand;
    }
}
. . . .
private void OnCapture(object parameter)
{
    UIElement element = parameter as UIElement;
    if (this.CaptureSource != null)
    {
    . . . .
    }
}
. . . .
private bool CaptureCanExecute(object parameter)
{
    return (_isCapturingVideo) ? true : false;
}

Using Binding to Avoid Commanding

One of the things that I think a lot developers forget is that TwoWay binding can be a great way to avoid having to create a command or event handler to respond to a user click.  Commands are great, but if you don’t need them don’t use them.

When all you want to do is take some action when a user clicks on an item in a list its very easy to allow a change in the lists SelectedItem to notify other controls.  Take for example the list of EffectShader displayed in the image below.  When a user clicks on any of the shaders, I want to apply that effect to my rectangle which is displaying my VideoBrush.  I can do this entirely using binding applied to both elements.

If we examine the code below, you will see a bunch of bindings.  First, our ListBox.ItemSource is bound to an ObservableCollection<Effect> of effects.  This allows us to add effects to the ListBox by simply updating our collection.  Second, our ListBox.IsEnabled is bound to a property in our ViewModel.  Notice the use of TargetNullValue and FallbackValue.  These new properties on the binding extension method allow us to override what gets used in the event the property we are binding to is NULL value.  In this example we have a ViewModel property that stores a reference to a capture that has been selected in the ListBox of captures.  If nothing is selected, the property is null.  Since a null is not a boolean, we use TargetNullValue and FallbackValue to ensure we have a true/false response.

<ListBox Height="50" Name="listEffects" Width="Auto"  HorizontalAlignment="Stretch"
     ItemsSource=
"{Binding Path=Effects}"
     IsEnabled=
"{Binding TargetNullValue=true, FallbackValue=false, Path=SelectedCapture}"
     ItemTemplate=
"{StaticResource EffectItemTemplate}"
     ItemsPanel=
"{StaticResource WrapItemPanel}"
     ScrollViewer.HorizontalScrollBarVisibility=
"Disabled"
     ScrollViewer.VerticalScrollBarVisibility=
"Auto" >
</ListBox>


Another place we use binding is in the DataTemplate of this list box.  Here we will bind both the Effect of the rectangle and its Fill.  Our Effect will get bound to the ShaderEffect property of this item being rendered , while the Fill will navigate back to the main DataContext and bind to a property called Brush located within our  MainPageViewModel.  This property might be a SolidBrush, VideoBrush or even an ImageBrush of an existing capture.

<DataTemplate x:Key="EffectItemTemplate">
    <Border BorderThickness="1" BorderBrush="Black" CornerRadius="2"
        HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,0,3,0">
        <Rectangle Width="48" Height="36" Stretch="Fill"
            Effect="{Binding ShaderEffect}"
            Fill="{Binding Source={StaticResource MainViewModel}, Path=Brush}" />
    </Border>
</DataTemplate>


So that ensures that our list of effects looks correct, but how exactly does our rectangle displaying our live webcam video with the correct ShaderEffect applied?

Again we lean on Binding to avoid any procedural code.  using ElementName binding we bind the styled buttons Effect property to the SelectedItem of our ListBox of effects.  Now each time a user clicks on an item in our list of effects the rectangles will change immediately.

<Button Name="rectVideo"
    Style=
"{StaticResource RectangleButtonStyle}"

    Width=
"320" Height="240"

    Effect=
"{Binding ElementName=listEffects, Path=SelectedItem.ShaderEffect, Mode=TwoWay}"

    Command=
"{Binding Capture}"

    CommandParameter=
"{Binding ElementName=rectVideo}"/>



European Silverlight 4 Hosting :: Binding to a ComboBox in Silverlight

clock May 11, 2011 06:26 by author Scott

Binding to a Combobox

Before we can get to the “gotcha” I came across, we first need to set up how to use binding with a Combobox.  For my example we will be using a simplistic MVVM architecture because it helps to demonstrate the point a bit better.  Just as a reminder, you don’t have to use binding with the Combobox or to recreate the issue described in this post.

So let’s get started with our view model.  For our purposes, the view can be rather simplistic, needing only 2 properties.  I added a method to populate our list data just for completion.

    public class MainPageViewModel : INotifyPropertyChanged
    {
        private string _favoriteConf;

        public MainPageViewModel()
        {
            PopulateConfs();
        }

        public string FavoriteConf
        {
            get { return _favoriteConf; }
            set
            {
                _favoriteConf = value;
                NotifyPropertyChanged("FavoriteConf");
            }
        }

        private List<string> _confs;

        public List<string> Confs
        {
            get { return _confs;  }
            set
            {
                _confs = value;
                NotifyPropertyChanged("Confs");
            }
        }
        private void PopulateConfs()
        {
            Confs = new List<string>()
                {"MIX", "TechEd", "PDC", "DevConnections"};
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        protected  void NotifyPropertyChanged(string propertyName)
        {
            if(PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
        #endregion
    }

As you can see, we have just the two properties : FavoriteConf and Confs.  Our constructor calls the PopulateConfs to add some data for us to work with.  (Yes, Conf = Conference, I just didn’t want to write out Conference too many times. ).

Now that we have our view model, the next step would be to create our XAML.  For this demonstration, we are going to show two elements: a Combobox and a TextBox.  The Combobox will have our list of conferences (bound to the Confs property) and the TextBox will show the selected conference by binding to the the FavoriteConf property.

If you look at the Combobox, you will notice two different binding statements.  The first one is the ItemsSource is bound to the Confs property.  This is done with the default OneWay binding, since our Combobox will never be modifying the list of data.  The second is the SelectedValue with is bound to the FavoriteConf property.  Since we want to update the FavoriteConf value in our view mode when the user selects a drop down, then we do a two-way binding.

Here is our XAML:

<UserControl x:Class="ComboBoxBinding.MainPage"
    xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
    xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
    xmlns:d=http://schemas.microsoft.com/expression/blend/2008
    xmlns:mc=http://schemas.openxmlformats.org/markup-compatibility/2006
    xmlns:local="clr-namespace:ComboBoxBinding"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">
    <UserControl.Resources>
        <local:MainPageViewModel x:Key="viewModel"/>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White"
          DataContext="{StaticResource viewModel}">
        <Grid HorizontalAlignment="Center" VerticalAlignment="Center"
              Background="LightGray"
              Height="Auto" Width="Auto">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="150"/>
                <ColumnDefinition Width="150"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="25"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <TextBlock HorizontalAlignment="Center"
                       Text="Select Favorite Conference"/>
            <TextBlock Text="Choose One :" Grid.Row="1"/>
            <ComboBox Grid.Row="1" Grid.Column="1"
                      SelectedValue="{Binding FavoriteConf, Mode=TwoWay}"
                      ItemsSource="{Binding Confs}"/>
            <TextBlock Text="You Picked :" Grid.Row="2"/>
            <TextBox Text="{Binding FavoriteConf}" Grid.Row="2"
                     Grid.Column="1"/>
        </Grid>
    </Grid>
</UserControl>

Note: Since this is a demonstration, I’m creating a static copy of our view model in the resources of our XAML and binding the LayoutRoot’s DataContext to this resource.

If you run the project the application should look something like this:



When you select an item from the Combobox, the TextBox will update with the selected value of the Combobox.



Great! It works, everything is add it should be, right?

Note: Silverlight 4 added some additional properties to the Combobox to make binding easier.  You can read a walkthru of using them on John Papa’s blog
here.

Ordering of XAML Properties : The Gotcha

So let’s take our example one step further, but setting a default value for our FavoriteConf value.  To do this, we are going to change up our constructor to our view model by adding another line of code:

        public MainPageViewModel()
        {
            PopulateConfs();
            FavoriteConf = "MIX";
        }

If we run our example again, this is what we get:



Not exactly what I was looking for.  The TextBox picked up the default value of the FavoriteConf, but why didn’t the Combobox?  Well it turns out, after much head scratching, that the answer is in our XAML.

Let’s take a look at the XAML of our Combobox again:

            <ComboBox Grid.Row="1" Grid.Column="1"
                      SelectedValue="{Binding FavoriteConf, Mode=TwoWay}"
                      ItemsSource="{Binding Confs}"/>

Do you see where we went wrong?

It looked right to me for a while.  However, it turns out that ordering of the properties in XAML can affect the behavior of the control.  If we switch the order of the ItemsSource and the SelectedValue, your XAML will now look something like this:

            <ComboBox Grid.Row="1" Grid.Column="1"
                      ItemsSource="{Binding Confs}"
                      SelectedValue="{Binding FavoriteConf, Mode=TwoWay}"/>

Now, if we run the two examples side-by-side, we get the following:



It turns out that ordering in your XAML can be important and something to look out for if you are not getting the results that you are looking for. If you have found yourself in a similar situation, hopefully this will post will help.



Silverlight 4 European Hosting :: Using Silverlight 4 Web Parts in SharePoint 2010

clock May 15, 2010 05:52 by author Scott

Are you looking for an affordable hosting service? Are you looking for good service at affordable prices? Try HostForLife.eu, only with € 3.00/month, you can get a reasonable price with best service. This topic contains only brief information about why you must use Silverlight 4. So, if you want to be more familiar with Silverlight 4, you should try HostForLife.eu.

SharePoint 2010 has built-in support for Silverlight Web Parts, making it easy to get Silverlight applications up and running. But most developers will want to go beyond the basic functionality to create highly integrated experiences using Visual Studio. In this article, We'll look at how to build Silverlight Web Parts that can run in the Sandbox, manipulate SharePoint data using the Client Object Model, and run out of the browser on the desktop.

Silverlight Overview

A number of features make Silverlight 4 a great business application platform. At its most basic level Silverlight is a browser plug-in that runs across a number of platforms (e.g., Windows and Mac) on a number of browsers (e.g., Internet Explorer, Safari, and Firefox). This functionality greatly reduces the amount of code you write, allowing you to focus on your application's business logic and not on the subtle compatibility issues that come with supporting multiple browsers. Silverlight lets you create rich immersive experiences for your users.

Silverlight is .Net. You can use all your knowledge of ASP.Net, Windows Presentation Foundation (WPF), and Windows Forms to program Silverlight. In fact, Silverlight is a subset of WPF. Both WPF and Silverlight use XAML to declaratively define the user experience. Most business applications revolve around some back-end data store such as SQL Server or a line-of-business system such as SAP. Silverlight has extensive data binding capabilities to allow you to quickly bind back-end data the user interfaces. More and more, rich media such as pictures, voice, and video are becoming standard requirements in a business application. Users expect to stream video from the server for training and other business functions such as CEO broadcasts.

Silverlight supports Smooth Streaming technology, which lets you host and deliver HD video from your IIS servers, including SharePoint. Another feature, introduced with Silverlight 3, is the Out-of-Browser (OOB) feature. OOB lets you install and run your Silverlight application out of the browser on the local machine. By surfacing the OOB application on the start menu or desktop, you give a user a more desktop-application-like feel. You can also detect your online status and respond accordingly—for example, caching data locally. The OOB features in Silverlight 4 have expanded this capability to allow your OOB applications to run with full trust and instantiate COM objects.

Another Silverlight feature allows Silverlight controls to communicate with other running Silverlight controls. This means that you can create complex composible applications that work together as single applications. For example, imagine adding two Silverlight applications to a page that could allow the applications to communicate with each and provide a master/detail experience for users. This is similar conceptually to what you do today with Web part-to-part communication. Silverlight also provides a rapid application developer model with great tools such as Visual Studio 2010 and Expression Blend 3 + Sketchflow. The designer and developer workflow that Silverlight provides allows designers to create beautiful and expressive designs, then hand those applications over the wall to a developer who can add deep data integration with line-of-business systems.

Silverlight Out of the Box

SharePoint 2010 contains a number of Silverlight features out of the box, a clear indication that SharePoint is serious about Silverlight and that SharePoint developers should be as well. A Silverlight Web Part lets you add a Silverlight application to your SharePoint site simply by adding a Web Part and setting the path to the Silverlight application's .XAP file.

You can upload Silverlight applications to SharePoint document libraries or other SharePoint folders, which makes it easy for end users to add Silverlight applications to their sites. For example, most users have administrative rights on their My Site. Let’s walk through the steps you could take to add a Silverlight application to your My Site. First you'll need a sample Silverlight application. You can find one by browsing the list of Silverlight samples on the Silverlight.net/Community site. You can choose a sample application that looks interesting to you and download it to your desktop. But in this example, we'll use a weather control that displays the current weather. After you've downloaded that application, upload it to a document library on your My Site. Add the Silverlight application you just uploaded to the right-hand column of your home page. From the ribbon menu put the page into edit mode. Once the page is in edit mode you'll see the Web Part zones. Click on the zone on the right (it should be called Middle Right Zone) to open the insert Web Part dialog.

From the Categories list on the left select Media and Content, then in the Web Parts list select Silverlight Web Part. Click the Add button to insert the Silverlight Web Part into the Middle Right Zone. You'll be prompted to provide the URL to the Silverlight application. Enter the path to the Silverlight control you uploaded to your document library. The easiest way to get the path is to right-click on the Silverlight .XAP file and choose Copy Shortcut from the context menu. After adding the URL to the Silverlight application click ok. Click on Stop Editing from the ribbon menu to exit edit mode. You'll see your Silverlight application running on your page; in this case you can see that it accurately reflects the weather in Redmond.

SharePoint also includes a number of Silverlight controls in the box. The Silverlight Media Web Part lets you easily add video to your SharePoint site by adding the Media Web Part. Let’s look at how easy it is to add video to your SharePoint sites. SharePoint 2010 contains a new library type called Asset Libraries. Asset Libraries are designed to hold media such as pictures and videos. Create a new Asset Library from the create dialog. Upload a Windows Media Video (WMV) file to your Assets Library. Browse to the home page of your site, or wherever you would like to add video. Put the page in edit mode by clicking the Edit button on the Page tab of the ribbon menu.

Once the page is in edit mode, click on the spot in the page where you would like to insert the media player. Clicking inside the page while in edit mode will enable a context-sensitive ribbon tab called Editing Tools. The Editing Tools tab contains two tabs: Format Text and Insert. Click on the Insert tab, then select Web Part from the Web Parts ribbon group. From the Insert Web Part dialog select the Media and Content item from the Categories list and then select Media Web Part. Click the Add button to add the Media Web Part to the page.

Once the Media Web Part control has been added to the page you must select the Web Part to enable another context-sensitive ribbon item called Media. Click on Change Media dropdown to select the video to play. Choose SharePoint from the Change Media dropdown. This will open a browse dialog that will let you pick the video in your Asset Library that you uploaded earlier. The Media ribbon menu lets you set other properties of the media player such as dimensions and style. You can also set the video to loop or start automatically when the page opens.

SharePoint also uses Silverlight internally for some of its functionality. For example, Web Applications such as Word and PowerPoint will use Silverlight to render content.

Access SharePoint Data from Silverlight

SharePoint contains a number of ways that you can access the data contained in Lists and Libraries. One way to access SharePoint from client applications such as Silverlight is via SOAP-based Web Services. These Web Services, still available in SharePoint 2010, cover the widest area of features. Although there are some incompatibilities in Silverlight due to the way Silverlight implements this feature, they are necessary in certain scenarios (e.g., calling search services).

The Client Object is a new feature of SharePoint 2010 that provides a Silverlight-based object model for calling SharePoint. The Client Object is a very lightweight and efficient way to batch call SharePoint to retrieve and update data. The Client Object Model gives you explicit control of not only when and how often you call the server but also over how much data is returned. The Client Object Model is generated from the Server Object Model, SharePoint.dll. So if you're familiar with the Server OM, you'll be familiar with the Client OM.

Another new way to access list and library data is by using RESTful services. SharePoint 2010 exposes all of its data as a RESTful endpoint. You can use the ADO.Net data services against SharePoint’s list data to generate strongly typed classes using the entity framework. This makes reading and writing list and library data very familiar to .Net developers.

Silverlight applications can run in the new Sandboxed solutions of SharePoint 2010 and SharePoint Online. Silverlight applications execute on the client and make a perfect Sandboxed solution because of this. For example, Sandboxed solutions are blocked from making network calls such as Web Service calls. But Silverlight can make these calls, even as part of a Sandboxed solution. This means that by using a combination of Sandboxed solutions for easy deployment and Silverlight client-side features you can achieve many of the same capabilities as Farm-level solutions without any of the security risks to the SharePoint farm. And only Sandboxed solutions can be deployed to the standard SharePoint Online service.

Silverlight Development on SharePoint

With SharePoint 2010, the developer story has come a long way. SharePoint now is integrated into Visual Studio 2010 as a first-class platform. Visual Studio 2010 supports a number of SharePoint project types such as Web Parts, Workflows, Event Receivers, and Modules. You can also import existing .wsp package files that have been exported from saving a SharePoint site as a template or exported from SharePoint designer. You can even upgrade a SharePoint 2007 project created with Visual Studio Extensions for WSS (VseWSS).

SharePoint projects now are Silverlight aware and can deploy and debug Silverlight applications as part of the SharePoint .wsp package file. Let’s walk through the creation and deployment of a simple Silverlight application to SharePoint. Start by opening Visual Studio and creating a Silverlight application. In this example, name the project SimpleSilverlight and click OK. Uncheck the option to host the Silverlight application in a new Web site. You don't need this because it creates a test Web site for your Silverlight project. You will use SharePoint as your test Web site. The Silverlight project opens in Visual Studio and you can use the Silverlight designer to create the application. In this case, you'll use Expression Blend as the designer. In Visual Studio right-click on the MainPage.xaml file and choose Open in Expression Blend from the context menu. Use Expression Blend to create the application.

When you're finished, save and close Expression Blend. Switch back to Visual Studio, which will prompt you to reload the application because it was changed outside of Visual Studio. Next, you'll need to deploy the Silverlight application to SharePoint. You could stop at this point and just distribute your Silverlight .XAP file, as you saw in the earlier example with the weather application. But I wouldn’t recommend this approach because it is a best practice to always deploy applications to SharePoint using a SharePoint package file (.wsp). Add a new empty SharePoint project to your Silverlight solution. Call the empty SharePoint project SimpleSilverlightDeploy. The new SharePoint project wizard will prompt you to choose the location to deploy to and the type of project to create. The default is to create a Sandboxed solution. This is the best choice for Silverlight projects. Next, you need to add a SharePoint Module project item to the SharePoint project.

Modules are the way that you deploy files to SharePoint. Call the Module SimpleApp. By default, a sample file called Sample.txt is created. You can delete this file because it is not needed. In other .Net applications you can add a project reference to another project to include the output of one project in another. But this does not work for deploying a Silverlight application because you don't want a reference to the .dll file; you need a reference to the .XAP file instead. Click on the SimpleApp module node in the solution explorer on the right side of Visual Studio. You'll see a property called Project Output References. Click the ellipse to open the Project Output References collection dialog. Click the add button to add a new reference.

In the properties of the new reference set the property name to the name of the Silverlight Project—in this case, SimpleSilverlight. Set the Deployment Type property to ElementFile and close the dialog. The last step is to edit the Elements.xml file to specify where you want to deploy the file. Edit the file by adding a new File node under the Module node. The path property specifies the relative path to the file in the .wsp package. The URL property specifies the path on the SharePoint Server where you want the file deployed. In this example, we use the WebDav path to deploy the file to the Master Pages document library.

<?xml version=”1.0” encoding=”utf-8”?>
<Elements xmlns=http://schemas.microsoft.com/sharepoint/>
     <Module Name=”SimpleApp”>
           <File Path=”SimpleApp\SimpleSilverlight.xap”
                 Url=”_catalogs/masterpage/Silverlight/SimpleSilverlight.xap” />
     </Module>
</Elements>

You can now press F5 to deploy the solution to SharePoint. Visual Studio builds and deploys the solution to the SharePoint solution gallery and activates the project. It will also open the SharePoint site. You can verify that deployment was successful in a couple of ways. First, from the site settings page open the Solutions Gallery. The Solutions Gallery shows you all the applications that are installed in the Sandbox for that Site Collection. Next you can verify that the Silverlight application was deployed to the Master Pages gallery by browsing to the Master Pages gallery.

The Master Pages gallery is located at http://server/_catalogs/masterpage. To test your new Silverlight application, put the page in edit mode and insert a Silverlight Web Part, just as you did earlier in this article. Click the Add button to add the Web Part and set the URL to the Silverlight application, which from our example will be http://intranet.contoso.com/_catalogs/masterpage/Silverlight/SimpleSilverlight.xap. You may need to resize your Web Part to fit the Silverlight application. Once that is done, click the save icon to exit edit mode.

Debugging Silverlight with SharePoint

Visual Studio makes it easy to debug Silverlight applications in SharePoint. In the SharePoint project that you created in the previous section, right-click on the SharePoint project node and select properties. In the Visual Studio properties window, select the SharePoint tab. The SharePoint tab lets you modify and control the package and deployment process that is used.

For example, maybe you don't want Visual Studio to activate the SharePoint solutions when you deploy. This gives you very granular control over the entire process. But in this case, you're interested in the last property at the bottom of the page. You may need to scroll down to see it. At the bottom of the tab page there is a check box called Enable Silverlight debugging (instead of Script debugging). Check this box to debug your Silverlight application. After you set this property you can set breakpoints in your code just as you would any other .Net project. Visual Studio will do everything to attach the debugger correctly.

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 4 European Hosting :: What's New in Silverlight 4

clock May 12, 2010 07:55 by author Scott

Silverlight 4 delivers a full suite of powerful capabilities to business application developers, bringing the best-of-breed .NET platform to browser-based experiences. Silverlight provides an ideal platform for developing and deploying modern business applications for both customer facing and staff-facing applications. Fore more information, you can visit HostForLife.eu. We offer the low price with the best quality. You can start from € 3.00/month. Just click the link..

Business Application Development

Silverlight 4 consolidates its position as the natural choice for building business applications on the Web:

New Features for Application Developers

- Comprehensive printing support enabling hardcopy reports and documents as well as a virtual print view, independent of screen content.

- A full set of forms controls with over 60 customizable, styleable components. New controls include RichTextbox with hyperlinks, images and editing and Masked textbox for complex field validation. Enhanced controls include DataGrid with sortable/resizeable columns and copy/paste rows.

- WCF RIA Services introduces enterprise class networking and data access for building n-tier applications including transactions, paging of data, WCF and HTTP enhancements.

- Localization enhancements with Bi-Directional text, Right-to-Left support and complex scripts such as Arabic, Hebrew and 31 new languages including Vietnamese and Indic support.

- The .NET Common Runtime (CLR) now enables the same compiled code to be run on the desktop and Silverlight without change.

- Enhanced databinding support increases flexibility and productivity through data grouping/editing and string formatting within bindings.

- Managed Extensibility Framework supports building large composite applications.

- Exclusive tooling support for Silverlight, new in Visual Studio 2010. Including a full editable design surface, drag & drop data-binding, automatically bound controls, datasource selection, integration with Expression Blend styling resources, Silverlight project support and full IntelliSense.


Developers tools

- Fully editable design surface for drawing out controls and layouts.

- Rich property grid and new editors for values

- Drag and drop support for databinding and automatically creating bound controls such as listbox, datagrid. New datasources window and picker.

- Easy to pick styles and resources to make a good looking application based on designer resources built in Expression Blend.

- Built in project support for Silverlight applications

- Editor with full intellisense for XAML and C# and VB languages.

Empowering richer, more interactive experiences

Silverlight is already in use as a comprehensive platform for building rich experiences both for application and pure media scenarios including HD quality, interactive video through Smooth Streaming. Silverlight 4 introduces additional capabilities to enable creation of ever more rich, appealing high-performance interactive experiences and innovative media experiences:

- Fluid interface enhancements advance application usability through animation effects.

- Webcam and microphone to allow sharing of video and audio for instance for chat or customer service applications.

- Audio and video local recording capabilities capture RAW video without requiring server interaction, enabling a wide range of end-user interaction and communication scenarios for example video conferencing.

- Bring data in to your application with features such as copy and paste or drag and drop.

- Long lists can now be scrolled effortlessly with the mouse wheel.

- Support conventional desktop interaction models through new features such as right-click context menu.

- Support for Google’s Chrome browser.

- Performance optimizations mean Silverlight 4 applications start quicker and run 200% faster than the equivalent Silverlight 3 application.

- Multi-touch support enables a range of gestures and touch interactions to be integrated into user experiences.

- Multicast networking, enabling Enterprises to lower the cost of streaming broadcast events such as company meetings and training, interoperating seamlessly with existing Windows Media Server streaming infrastructure.

- Content protection for H.264 media through Silverlight DRM powered by PlayReady.

- Output protection for audio/video streams allowing content owners or distributors to ensure protected content is only viewed through a secure video connection.

Move Beyond the Browser

Silverlight 3 pioneered the delivery of a new class of Rich Internet Applications to work on the desktop without additional code or runtimes. Silverlight 4 extends this capability:

For Sandboxed applications

- Place HTML within your application enabling much tighter integration with content from web servers such as email, help and reports.

- Provide support for ‘toast’ notification windows, allowing applications to communicate status or change information while the user is working on another application through a popup window on the taskbar.

- Offline DRM, extending the existing Silverlight DRM powered by PlayReady technology to work offline. Protected content can be delivered with a persistent license so that users can go offline immediately and start enjoying their content.

- Control over aspects of UI include window settings such as start position, size and chrome.

For Trusted Applications

- Read and write files to the user’s MyDocuments, MyMusic, MyPictures and MyVideos folder (or equivalent for non-windows platforms) for example storage of media files and taking local copies of reports.

- Run other desktop programs such as Office, for example requesting Outlook to send an email, send a report to Word or data to Excel.

- COM automation enables access to devices and other system capabilities by calling into application components; for instance to access a USB security card reader.

- A new user interface for requesting application privileges access outside the standard Silverlight sandbox.

- Group policy objects allow organizations to tailor which applications may have elevated trust.

- Full keyboard support in fullscreen mode richer kiosk and media applications.

- Enhancements to networking allow cross-domain access without a security policy file.

- Custom Window ‘chrome’ to provide a highly branded experience

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 4 European Hosting :: How to Use SQL Reporting Services in Silverlight

clock May 6, 2010 08:39 by author Scott

It is important that you understand what the Reporting Services in SQL are all about. Then, you will be able to create a program that can call the SQL Server Reporting Services in Silverlight. With this article, we want to challenge you to try HostForLife.eu. Only with € 3.00/month, you can get a reasonable price with best service. For us, your satisfaction is our pleasure.

You may wonder how you can use the SQL Server Reporting Service in Silverlight. You may probably also want to know what the best practices are for the said process. What are the answers to these questions? Here is the truth: you should know that you cannot use Silverlight when you want to access the SQL server directly. This is because this does not have the ability to do so. You should remember that all the calls will go back to the server through the use of Web Service socket or call.

If you need to utilize the Reporting Service, you will have to create a code for Web Service, which you will use to call it. Once finished, Silverlight will display the result. This is how it works here. Therefore, you can still call the Reporting Service using the Service code just like the other server application like the ASP.Net application.

The SQL Server Reporting Services is something that allows the user to design and organize the reports that you need. This is a tool that you can employ which is suitable for distributing online or through print. You can easily get the results promptly and without delay. Since it is not possible that you can use the SQL Server Reporting Services in Silverlight directly, you can use other programs here. There are actually a few products which allow you to use the Silverlight application for the Reporting Services.

In actuality, the chief obstacle of Silverlight being a development platform for businesses is that it lacks components that can be used in order for a businessman or a company to work with reports. In this case, it will be difficult for the organization to function effectively without the use of the right reporting system. Meanwhile, with the correct software that will allow you to accomplish the job of using the SQL Server Reporting Services in Silverlight, you can leverage the advantages of the two so that you can efficiently have your companys own business intelligence application.

Usually, businessmen make use of the Silverlight Viewer for Reporting Services. This is a product that was first launched before the other applications that allows you to combine the Reporting Services and Silverlight. This program allows you to view the reports in Reporting Services with the utilization of Silverlight applications. This represents a control for Silverlight which is easily incorporated in any of the applications in Silverlight. In this case, it is possible for you to exploit the different sets of features which are available in standard desktop applications. These include dynamic scaling, smooth panning along with animation, sorting interactively, searching and many more.

You can use the Silverlight Viewer on applications that are situated on your html pages as well as with the applications that are out of your browser. There are many reasons as to why you may want to use this program. The first is that it allows you to print the reports right from Reporting Services using Silverlight. Second, this also has several features that you can use without much difficulty.

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 3 European Hosting :: Working with Data Services in Silverlight 3 - WCF vs REST

clock May 3, 2010 08:11 by author Scott

Here we'll delve into the latter Silverlight 3 feature by comparing the options developers have for communicating with services from Silverlight. We'll do so by building a sample application called Cooking with Silverlight, a fictitious site where people can search in a recipe database and read reviews of recipes. We'll start by showing options for exchanging information with a Windows Communication Foundation (WCF) service. After that, We'll build the same application, but now using representational state transfer (REST) services. These two examples will demonstrate the differences between communicating with WCF or REST in a Silverlight app. You can download the complete code for this article by clicking the above link.

Working with Data in a Silverlight App

Silverlight uses the same Base Class Library (BCL) as the full .NET Framework, however, only a subset is available in the Silverlight platform. When browsing the assemblies, you'll quickly notice that many familiar data-related assemblies and classes are missing. Indeed, Silverlight does not contain ADO.NET and has no support for a DataSet or DataReader. In Silverlight 3, the current version at the time of writing, Silverlight has no client-side database access available, and it isn't possible to have a connection string in your Silverlight application, which would allow remote database access.

However, enterprise applications are built around data. To solve this problem, Silverlight can connect with services, on the same server on which the Silverlight app is hosted or on another server, if it complies with a few characteristics, which we'll look at in the cross-domain section of this article. Using services, we can satisfy almost every requirement for working with data in a Silverlight application. Even if we had a client-side database implementation, we'd still have the services required to use up-to-date information.

Out of the box, Silverlight can connect with several types of services, including WCF and REST. Let's first look at how the sample application was built and compare where the two technologies differ from one another.

Silverlight and WCF

WCF is the preferred way of building services in the .NET Framework. Designing a WCF service for use with Silverlight isn't much different from designing the service for use with any other technology. The main difference is the type of binding used for the communication. By default, when you add a WCF service to a project, it's configured to use a wsHttpBinding. In general, a wsHttpBinding supports distributed transactions and secure sessions. Silverlight, however, can't work with this type of binding; instead a basicHttpBinding is required. A basicHttpBinding essentially allows communication with a traditional ASMX web service (based on WS-BasicProfile 1.1) and lacks the options offered by the wsHttpBinding, such as secure sessions.

This means that all data is transmitted as plain XML in a SOAP message. In enterprise environments, this could be risky. To counter this risk, one possible solution is using ASP.NET authentication to allow access only to authenticated users on the services. 

Visual Studio offers a Silverlight-enabled WCF service template. This template sets the correct type of binding in the configuration file.

Creating the WCF Service

A WCF service typically offers a service contract. The service contract offered by the service defines the operations exposed by the service. Each operation that needs to be exposed over the service is attributed with an OperationContractAttribute.

The implementation of the service, contained in the *.svc.cs file in a WCF scenario, contains the logic for accessing the data using the repository and returning a list of DTOs.

Using the WCF Service from the Silverlight Client

With the service in place, the Silverlight application needs to connect with it. WCF services are said to be self-describing: They expose a Web Services Description Language (WSDL) file, which contains metadata about the service. This metadata describes, among other things, the operations and data contracts exposed by the service. When you connect to such a service using Visual Studio's Add Service Reference dialog box, the IDE will generate a proxy class. This proxy contains a client-side copy of the service. The proxy class contains all operations, without the implementations, and a copy of the data contracts. Because of this, we get full IntelliSense in the editor when working with the service.

To execute a call to the service, we use this proxy class. However, when the application accesses a service from Silverlight, the call will be executed asynchronously. If synchronous calls were possible, during the call's execution the browser would remain blocked while awaiting a response from the server.

A callback method is specified for the XXX_Completed event. This method is executed when the service returns. Making the actual async call to the service is done using the XXXAsync method. Inside the callback method, the result of the service call is accessible through the e.Result property. This property's type is the same type as returned by the service. These types were generated when the proxy was created upon adding the service reference. We're using the result, here a generic List of Recipe instances, as the ItemsSource for the ListBox. Of course, other data-binding scenarios are possible here.

Silverlight and REST

The biggest advantage of using WCF services is the typed access, which is based on the metadata that the service exposes. This makes the process of writing the client-side code easier. However, not every service exposes metadata. Some services work with human-readable information, mostly in the form of XML, which they send following a request from the client.

This is the case for REST services. Compared with WCF, REST has some advantages. As said, the information is exchanged as pure XML (or JavaScript Object Notation—JSON, if needed). The XML is clean and more lightweight than the SOAP messages exchanged when using WCF. Thus, less data will go over the wire, resulting in faster transfer of the data. REST is also entirely platform independent: It requires no extra software as it relies on standard HTTP methods. However, because REST services are not self-describing, Visual Studio can't generate a proxy class. This means that when writing a Silverlight application that needs to work with a REST service, we manually need to parse the returned XML to capture the server's response. Luckily, Silverlight includes LINQ to XML, making this process much easier. Alternatively, you could use the XmlReader/XmlWriter or the XmlSerializer for this task.

Creating the REST Service

A REST service will send data when it's requested to do so. The request is done over HTTP, for example, by sending a request to a specific URL. The REST service will then respond by sending XML over the wire.

To create a REST service, we can use WCF as well. However, we need to perform some configuration changes to enable the WCF services to work as REST services.

The service operations in the service contract need to be attributed with WebGetAttribute in addition to the OperationContractAttribute. The UriTemplate defines what the URL should look like and which parameters it should contain to get access to the associated operation.

The implementation of the service operation is almost identical to the WCF implementation, as you can see in the previous listings. To test the service and see its response, navigate for example to http://localhost:1234/ RestRecipeService.svc/recipe/find/pancake.

For the sample application, we wrote the REST service ourselves. It's also possible to use one of the numerous, often free, REST service APIs available, such as Twitter, Flickr, or Facebook. Looking at those APIs, it's easy to see that their XML is also the contract for data exchange between a client application and the service.

Using the REST Service from the Silverlight Client

Since there's no metadata available on a REST service, we can't add a service reference to it from Visual Studio. We need another approach.

Using a REST service from Silverlight is a three-step process. Step one: Build the URL to which we need to send a request. The format of this URL is defined by the service and may contain parameters that we must provide as well. Step two: Send a request to that URL. And finally, step 3: Wait for the result to come in as XML or JSON and parse this accordingly.

Building the URL is pretty straightforward. It's constructed by gluing together the URL from the service project with the string defined as value for the UriTemplate. You can send a request to this URL by using either the WebClient or the HttpWebRequest class, both part of the System.Net namespace and also classes included in the full .NET Framework. For most situations, the WebClient will suffice; if you need more fine-grained control over the request, the HttpWebRequest is the best bet. The WebClient is basically a wrapper around the HttpWebRequest with an easier API: Using the WebClient under the covers still uses methods of the HttpWebRequest. We'll use the WebClient here as well.

Cross-Domain Access

When accessing services, Silverlight will not allow access of these services by default if they're hosted on a domain other than the domain hosting the Silverlight application. In other words, if we have a Silverlight application called CookingWithSilverlight.xap hosted on http://www.somedomain.com, the application can't access a service on http://www.someotherdomain.com unless that service specifically grants a right to access it from a client application hosted on another domain. This feature is called cross-domain restrictions and is basically a security measurement to prevent cross-domain attacks.

How can a service allow the access anyway? When a cross-domain service request is launched, Silverlight will check for a file called ClientAccessPolicy.xml at the root of the domain (it will also check for crossdomain.xml, which is the policy file that Adobe Flash checks for). If this file is present and allows the call to be made, Silverlight will access the service. If the file isn't present or we're accessing from a domain that isn't on the list of allowed domains, Silverlight will block the request, resulting in a security exception being thrown.

Cross-domain restrictions apply for both WCF and REST services. Accessing an image or a video on another domain doesn't trigger this check. In the sample application, both the WCF and REST services are hosted in a website different from the one hosting the Silverlight application. In both websites, at the root, a policy file can be found, allowing access from any domain.

Two Services Options for Silverlight Developers

Both WCF and REST have their strong points. WCF really benefits from the fact that it exposes metadata that can be used to generate a proxy class. During development, this results in IntelliSense picking up the types and operations of the services, which makes things much easier. Features like easy duplex communication and binary XML data exchange make WCF in Silverlight quite complete. All SOAP 1.1–enabled services, even if they're exposed from technology other than .NET, can be used from Silverlight in the same manner. In most enterprises, SOAP-enabled services are the standard.

However, we don't always have—or need—all the options made available by WCF. If the data being exchanged is pure text, we can use REST. It's simple, fast, and is based on the HTTP standard methods, requiring no special software. Many large Web 2.0 sites expose an API that uses REST. Working with this type of services does require some more manual work, in that we have to send the request, capture the results, and parse them into meaningful data.

Regardless of what type of service is used, the communication happens asynchronously. In the case of WCF, when the proxy class is generated, both the XXXAsync method and the XXX_Completed event are created. When using REST, the WebClient has a DownloadStringAsync and a DownloadStringCompleted event.

Top Reasons to host your Silverlight 3 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 3 European Hosting :: The Highlights

clock April 27, 2010 06:05 by author Scott

Are you looking for an affordable hosting service? Are you looking for good service at affordable prices? Try HostForLife.eu, only with € 3.00/month, you can get a reasonable price with best service. This topic contains only brief information about Silverlight 3, if you want to be more familiar with Silverlight, you should try HostForLife.eu.

Is Silverlight Ready?

Excitement for the next version of any technology is apt to be high, but Microsoft has a history of making the version 3 of their products the jumping-on point. Microsoft has done its best to convince application developers that Silverlight is ready for business. While many of the features are focused to help build line-of-business applications, there are features that should appeal to most developers using the Silverlight 3 platform.

On the face of it, Silverlight 3 is an evolutionary release, not a revolutionary one. In many ways, you should consider that Silverlight 3 is an additive release. This means Silverlight 2 applications should continue to work (whether you leave them as Silverlight 2 or convert them to Silverlight 3) but they may get some unexpected behavior changes. Please see the “What’s New in Silverlight 3” topic in the official product documentation for a full list of changes for Silverlight 2 applications.

The new features in Silverlight 3 run the gamut from very visible features (like Out of Browser support) to tiny jewels of functionality that will help developers do their job easier. This article will walk through all the changes by category.

Controls

While not revolutionary, the control set in Silverlight 3 has a number of changes in packaging and content. The focus is primarily to help application developers be more productive but there are other surprises as well.

Packaging

The strategy of having built-in controls, controls that exist in the Silverlight SDK and others that exist in the Silverlight Toolkit, has changed a bit in Silverlight 3. Controls that used to be part of the Silverlight Toolkit but have been deemed to have matured have been migrated to the Silverlight SDK. The packaging of these controls is still outside of the Silverlight plug-in, but they are shipped with the Silverlight Tools instead of requiring the additional download of the Silverlight Toolkit. The controls that have made the leap to the SDK include:

- AutoCompleteBox
- HeaderedItemsControl
- TreeView

Validating Controls

Microsoft enhanced the existing control set to support displaying validation errors. For example, you can now set the TextBox to know about validation errors by specifying the NotifyOnValidationError and ValidatesOnExceptions like so:

<TextBox Text=”{Binding Name,
                Mode=TwoWay,
                NotifyOnValidationError=true,
                ValidatesOnExceptions=true}”
         Width=”100”
         Height=”25”/>

The Name property that you are binding to may have some validation (in this case a simple check for length validation):   

string _name;
public string Name
{
  get { return _name; }
  set
  {
    if (value.Lenght > 10)
    {
      throw new InvalidOperationException(
                              “String too long”);
    }
    _name = value;
  }
}

Data Controls

Microsoft added new controls to specifically target line-of-business applications and rapid application development. Developers can now choose from a number of small controls to create smart line-of-business applications. These include:

- DataPager: Supports paging through a variety of different types of data.
- Label: A control that supports feedback to the user of required and non-required fields.
- DescriptionViewer: Indicator that relates information about the field.
- ValidationSummary: Shows a list of validation errors, if any.
- DataField: Wraps a Label and a DescriptionViewer around a content section.
- DataForm: A container to give a rapid-application experience for creating an editing experience to data.

Dialog-like Windows

While not really a control, the new ChildWindow class is an important inclusion to the Silverlight tool set. The ChildWindow (available as part of the Silverlight Toolkit) is a base class for a new XAML document that developers can use as a makeshift dialog window. In Visual Studio, there is a new Item template for the ChildWindow as well.

ListBox

The venerable ListBox now includes the ability to support multiple selections. You can use this feature by setting the SelectionMode attribute/property:

<ListBox SelectionMode=”Multiple” />

The SelectionMode enumeration supports three values:

- Single: Same as the Silverlight 2 behavior.
- Multiple: Allows multiple selections with modifier keys (Ctrl/Shift).
- Extended: Allows multiple selections without modifier keys.

In addition, the default item creation for the ListBox uses the new VirtualizingStackPanel, which will improve performance of large lists of items.

ComboBox

In Silverlight 2, the ComboBox was the most notorious control for having odd behavior. Microsoft made some beneficial changes to this control in Silverlight 3. In Silverlight 2, if you had the ComboBox’s popup larger than the ComboBox itself and required a scrollbar, the width of the ComboBox was too narrow by the width of the scrollbar so your items would get clipped. Microsoft fixed this in Silverlight 3.

In addition, when using Enumerations with the ItemsSource of a ComboBox, the ComboBox correctly shows strings instead of numbers as shown below:

myComboBox.ItemsSource =
  new SelectionMode[] { SelectionMode.Single };
  // Works now

DataGrid

The DataGrid now supports grouping. To use the paging you’ll need to use a PagedCollectionView to wrap your collections and then set the GroupDescriptions as shown below:

// Wrap some collection in the view
var view = new PagedCollectionView(data);

// Group by Company Name
view.GroupDescriptions.Add(new
  PropertyGroupDescription(“CompanyName”));

// use the view as data source
theGrid.ItemSource = view;

This allows grouping in multiple levels to create true hierarchies from non-heirarchical data.

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 4 European Hosting :: MIX10 - Windows Phone Developer Tools are Free, Silverlight 4 RC

clock April 23, 2010 12:16 by author Scott

Are you looking for an affordable hosting service? Are you looking for good service at affordable prices? Try HostForLife.eu, only with € 3.00/month, you can get a reasonable price with best service. This topic contains only brief information about Silverlight 4, if you want to be more familiar with Silverlight, you should try HostForLife.eu.

The opening keynote of Microsoft's 5th annual MIX10 conference for Web developers and designers focused on the company's rich Internet application technology Silverlight and its role in Windows Phone Series 7 app development. The first Windows Phone 7 Series devices are expected at retail this fall.

The Windows Phone application development platform is based on Silverlight (XAML), XNA Framework (games) and the .NET Compact Framework, according to Microsoft. It supports Windows Azure cloud services, Zune apps, Xbox Live and third-party Web services such as social networking.

The fourth iteration of the technology since its introduction in 2007 adds support for Web cams, microphones, programmatic clipboard access and printer output, rich text editing, drag and drop capability, right click mouse and scrolling, access to file system resources, elevated trust, and out of browser online and offline applications.

Microsoft Silverlight 4 Tools for Visual Studio 2010 RC were released today. The Expression Blend 4 Beta, which adds support for Silverlight 4, Visual Studio 2010 and .NET Framework 4 (Windows Presentation Foundation 4) was also made available for download.

Microsoft announced that the XNA Framework currently used to build Xbox 360, Windows PC and Zune apps, supports Windows Phone and Silverlight prior to the Game Developers Conference last week. Developers can use the same project to develop games for multiple devices—Windows PC, Windows Phone and Xbox 360. This functionality was demonstrated during the keynote with a loop-based game called The Harvest. Visual Studio supports the 2-D and 3-D APIs in the XNA Framework. It also provides access to limited Xbox LIVE functionality such as achievements, scores and connecting with other gamers.

The Windows Phone 7 Series platform is a clean break from the company's Windows Mobile 6.5 platform, which Microsoft says it will still support. Current applications will not run on the new operating system.

Microsoft's mobile strategy is focused on enabling its developers and designers to use familiar tools and skill sets to build Windows Phone 7 Series applications. Community Technology Previews of Visual Studio 2010 Express for Windows Phone, Windows Phone Emulator, Silverlight for Windows Phone and XNA 4.0 Game Studio were released today in the Windows Phone Developer Tools CTP, which supports Windows Vista and Windows 7. Developers with Visual Studio have the option to use a Visual Studio add-in or the Express tooling. Expression Blend users need the Expression Blend 4 Beta and the Expression Blend SDK for Windows Phone.

The Visual Studio and Expression Blend tools for Windows Phone offer shared project templates and WYSIWYG controls that pick up the same look and feel as Windows Phone 7 Series skins--not Silverlight default controls. Among the Visual Studio tools is a Windows Phone Emulator, a virtual machine running the Windows Phone OS 7.0 for debugging, deploying and executing test builds. Apps can also be tested by plugging into a registered Windows Phone 7 Series test device with a USB connector.

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



Silverlight 4 European Hosting :: Getting Started with Silverlight 4

clock April 19, 2010 06:20 by author Scott

The whole premise of Silverlight was that it should be .NET for the browser. That is, a well-educated .NET programmer should be able to simply start a Silverlight project and work on it without knowing anything radically new.

It is arguable that Silverlight versions 1.0 through 3.0 haven’t really made this promise come true. Now we have Silverlight 4 and perhaps it is time to take the promise seriously.

Take a few simple steps and you might be surprised at just how quickly a Silverlight project can be yours and, more to the point, how little extra you need to learn.

The beta of Silverlight 4 was announced at PDC 2009 and was immediately made available for download. Perhaps more importantly, Visual Web Designer 2010 Express and Visual Studio 2010 betas both have tools incorporated that for the first time make working with Silverlight seem as easy as working with a forms or WPF-based application. Indeed, given Silverlight uses WPF, as long as you are familiar with it then creating a web application should be almost second nature.

First, download Visual Web Designer 2010 Express. You can use the full Visual Studio 2010 if you want to, but the Express version is all you need to evaluate Silverlight.

To upgrade to Silverlight 4, download the Tools for Visual Studio.

Once you have Web Designer 2010 installed, simply start a new project using File, New Project and select either Visual Basic or C# and then select the Silverlight group. Finally select Silverlight Application.

If you focus on the Silverlight application you should recognise the basic structure of a .NET application. There is the MainPage.xaml XAML file and its code behind MainPage.xaml.cs (or vb). This is where your application code mostly resides. The App.xaml and App.xaml.cs contain the code that gets your application started.

If you would like to simply run the application, use Debug,Start Debugging or press F5, then you should see a browser open with what looks like an empty page. If you dismiss the browser, or stop debugging, you can add some details to make the page look less empty. Load the MainPage.xaml file into the designer and if you are in the least bit familiar with WPF you should recognise the XAML code that generates the page.

By default a grid layout has been use and you can now use the Toolbox to drop a button onto the page. Again you should recognise the XAML code added by the designer.

<Grid x:Name=”LayoutRoot”
        Background=”White”>
<Button Content=”Button” Height=”23”
        HorizontalAlignment=”Left” Margin=”146,139,0,0”
        Name=”button1” VerticalAlignment=”Top” Width=”75” />
</Grid>

If you now double-click on the button you will be transferred to the code editor ready to enter instructions into the button’s click event handler. To give the button something to do let’s just pop up a messagebox with a hello world message:

private void button1_Click(
        object sender, RoutedEventArgs e)
{
MessageBox.Show(“Hello Silverlight World”);
}

Now if you run the application again you will see a button and if you click it then a messagebox pops up as requested.

This should seem all so familiar that it verges on the dull and boring but… notice that this now works in any browser that has a Silverlight plug-in – e.g. Firefox as well as IE. It is also a client side technology. The page that you are viewing in the browser happens to be an ASP.NET page, but if you change the URL to end .html then you will see the same button and the same behaviour.

The test website set up by the Visual Web Developer contains an ASP.NET page and a standard HTML page which can be severed by any web server. What this means is that you can integrate Silverlight, and hence .NET, with any web technology you may already be using.

You can use much of what you already know about WPF and .NET in general. For example, if you want to draw a line on the page you can use:

Line myLine = new Line();
myLine.X1 = 1;
myLine.X2 = 50;
myLine.y1 = 1;
myLine.y2 = 50;
myLine.Stroke = new SolidColorBrush(Colors.Black);
LayoutRoot.Children.Add(myLine);

This should be familiar as a use of a basic WPF drawing object, i.e. Line. The idea is you create the Line object, customise it and then add to the grid’s children after checking the XAML to discover the name generated for the grid.

If you run the program above you will find that it draws a retained mode diagonal line – i.e. there is no need to buffer the drawing to make the line persist when the page is covered, the redraw is automatic.

So what more is there to say about Silverlight? As we’ve hinted presumably you know it all already?! Well not quite. Silverlight is running in a browser and this makes a lot of difference. Your programs need to interact with the browser, its navigation and the user in ways that aren’t quite the same as when running a desktop application. In addition there is the not-unimportant fact that the Silverlight .NET Class framework isn’t an exact copy of the entire .NET Class framework that you are familiar with.

In fact you will very quickly discover that under Silverlight there are a lot of missing and modified facilities. There is much to learn if you want to make your Silverlight application standout. This short article has got you off the starting blocks – now win the race…

Top Reasons to host your Silverlight 4 Website with HostForLife.eu

There are many reasons why so many people choose HostForLife over any other web hosting provider each year. Whether you’re beginner or an experience webmaster, HostForLife offers the perfect solution for everyone.

You’ll have highly trained, skilled professional technical support people ready, willing, and wanting to help you 24 hours a day. Your web hosting account servers are monitored from three monitoring points, with two alert points, every minute, 24 hours a day, 7 days a week, 365 days a year. The followings are the list of other added-benefits you can find when hosting with us:

1. World-class 24x7 Customer Support
Will your hosting company promptly answer questions and resolve issues - at 3 am on a Sunday? Even some providers claiming “24x7” support will not - but HostForLife will. Our outstanding uptime is backed by true 24x7 customer support. An expertly trained technician will respond to your query within one hour, round the clock. You will also get qualified answers. Other hosting companies typically have very low - level support staff during the night or weekends. HostForLife always has knowledgeable, top - level  support standing by, day or night, to give you the answers you need.

2. Commitment to Outstanding Reliability
Reliability, Stability, and Performance of our servers remain out TOP priority. Even our basic service plans are equipped with standard service level agreements for 99.99% uptime. Advanced options raise the bar to 99.99%. Our state-of-the-art data centers combine servers and SAN storage with full redundancy and operational tools with proprietary service management techniques. Full backup and recovery capabilities are implemented, including redundant power supplies, cooling and connectionsto major data networks.

3. “Right-size” plans for maximum value
HostForLife offers a complete menu of services. IT professionals select only what they need - and leave behind what they don’t. The result is an optimal blend of cost and performance. We offer IT professionals more advanced features and the latest technology - ahead of other hosting companies.

4. Profitable, Stable, Debt-free Business
Financial stability is the bedrock of a hosting provider’s ability to deliver outstanding uptime, cost-effective service plans and world-class 24x7 support.  HostForLife’s customers are assured of our financial integrity and stability - a stark contrast to the ups and downs they may have experienced with other providers.

5. The Best Account Management Tools
HostForLife revolutionized hosting with Plesk Control Panel, a Web-based interfaces that provides customers with 24x7 access to their server and site configuration tools. Some other hosting providers manually execute configuration requests, which can take days. Plesk completes requests in second. It is included free with each hosting account. Renowned for its comprehensive functionally - beyond other hosting control panels - and ease of use, Plesk Control Panel is available only to HostForLife’s customers.

6. 30-Day Money Back Guarantee
HostForLife 30 day money back guarantee ensures you have the ability to cancel your account anytime within your first 30 days under our full 30 day money back guarantee (less one-time account setup free). So what are you waiting for? Sign up today, risk free…

7. Simplicity with FREE 1-Click Installation
HostForLife was designed with ease of use in mind. From one click installations of your favourite website applications to our much talked about drag and drop website builder, you can rest assure your stay with us is going to be a smooth one. HostForLife offers the most extensive set of scripts on the web allowing you to build complicated websites with little or no programming knowledge at all. From blogs to forums to powerful e-commerce solutions, Super Green has something that is right for you.

 



About HostForLIFE.eu

HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2016 Hosting, ASP.NET Core 2.2.1 Hosting, ASP.NET MVC 6 Hosting and SQL 2017 Hosting.


Tag cloud

Sign in