Question Arises: What
is Market Place Detail?
In simple terms "It
provide complete list of details that are required for specific application to
install on phone".
Let's get this implemented
now!!!
Step 1 : The
Complete Code of IService1.cs looks like this.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Runtime.Serialization;
using
System.ServiceModel;
using
System.ServiceModel.Web;
using
System.Text;
namespace
WCF_Market_Place_Details
{
// NOTE: You can use the "Rename" command on the "Refactor"
menu to change the interface name "IService1" in both code and config file
together.
[ServiceContract]
public interface
IService1
{
[OperationContract]
string Content(string
a);
}
}
Step 2 :
The Complete
Code of Service1.svc.cs looks like this.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Runtime.Serialization;
using
System.ServiceModel;
using
System.ServiceModel.Web;
using
System.Text;
namespace
WCF_Market_Place_Details
{
// NOTE: You can use the "Rename" command on the "Refactor"
menu to change the class name "Service1" in code, svc and config file together.
public class
Service1 : IService1
{
public string
Content(string a)
{
return a;
}
}
}
Step 3 : The
Complete Code of Web.Config looks like this.
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation
debug="true"
targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing
metadata information, set the value below to false and remove the metadata
endpoint above before deployment -->
<serviceMetadata
httpGetEnabled="true"/>
<!-- To receive
exception details in faults for debugging purposes, set the value below to
true. Set to false before deployment to avoid disclosing exception information
-->
<serviceDebug
includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment
multipleSiteBindingsEnabled="true"
/>
</system.serviceModel>
<system.webServer>
<modules
runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
Step 4 : The
Complete Code of MainPage.xaml looks like this.
<phone:PhoneApplicationPage
x:Class="Market_Place_Detail_Task.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignWidth="480"
d:DesignHeight="768"
FontFamily="{StaticResource
PhoneFontFamilyNormal}"
FontSize="{StaticResource
PhoneFontSizeNormal}"
Foreground="{StaticResource
PhoneForegroundBrush}"
SupportedOrientations="Portrait"
Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid
where all page content is placed-->
<Grid
x:Name="LayoutRoot"
Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition
Height="Auto"/>
<RowDefinition
Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the
name of the application and page title-->
<StackPanel
x:Name="TitlePanel"
Grid.Row="0"
Margin="12,17,0,28">
<TextBlock
x:Name="ApplicationTitle"
FontFamily="Verdana"
FontSize="22"
Text="Vijay's Market
Place Details Application"
Style="{StaticResource
PhoneTextNormalStyle}"/>
<TextBlock
x:Name="PageTitle"
Text="Windows 7 Phone"
Margin="9,-7,0,0"
Style="{StaticResource
PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place
additional content here-->
<Grid
x:Name="ContentPanel"
Grid.Row="1"
Margin="12,0,12,0">
<Button
Content="Market Place
Details" FontFamily="Verdana"
FontSize="22"
Height="72"
HorizontalAlignment="Left"
Margin="93,289,0,0"
Name="button1"
VerticalAlignment="Top"
Width="284"
Click="button1_Click"
/>
<TextBlock
Height="30"
FontFamily="Verdana"
FontSize="22"
HorizontalAlignment="Left"
Margin="72,175,0,0"
Name="textBlock1"
Text="Please Enter
Content Identifier"
VerticalAlignment="Top"
/>
<TextBox
Height="72"
HorizontalAlignment="Left"
Margin="93,211,0,0"
Name="textBox1"
VerticalAlignment="Top"
Width="284" />
<TextBlock
Height="30"
HorizontalAlignment="Left"
Margin="84,396,0,0"
Name="textBlock2"
Foreground="Red"
FontFamily="Verdana"
FontSize="22"
VerticalAlignment="Top"
/>
</Grid>
</Grid>
<!--Sample code showing usage
of ApplicationBar-->
<!--<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png"
Text="Button 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png"
Text="Button 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>-->
</phone:PhoneApplicationPage>
Step 5 :
The Complete Code of
MainPage.xaml.cs looks like this.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Net;
using
System.Windows;
using
System.Windows.Controls;
using
System.Windows.Documents;
using
System.Windows.Input;
using
System.Windows.Media;
using
System.Windows.Media.Animation;
using
System.Windows.Shapes;
using
Microsoft.Phone.Controls;
using
Microsoft.Phone.Tasks;
using
Market_Place_Detail_Task.ServiceReference1;
namespace
Market_Place_Detail_Task
{
public partial
class MainPage
: PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
static void
ContentCall(object sender,
ContentCompletedEventArgs e)
{
MarketplaceDetailTask
objDetailsTask = new
MarketplaceDetailTask();
objDetailsTask.ContentIdentifier = e.Result;
objDetailsTask.ContentType =
MarketplaceContentType.Applications;
objDetailsTask.Show();
}
private void
button1_Click(object sender,
RoutedEventArgs e)
{
textBlock2.Text = "";
if (string.IsNullOrEmpty(textBox1.Text))
{
textBlock2.Text = "Please Enter
Content Identifier";
}
else
{
Service1Client objClient = new
Service1Client();
objClient.ContentCompleted += new
EventHandler<ContentCompletedEventArgs>(ContentCall);
objClient.ContentAsync(textBox1.Text);
textBox1.Text = "";
}
}
}
}
Step 6 :
Output of the Application looks like this.
Market Place Detail Output Application looks like this.
Nothing Entered Output Application looks like this.
I hope this article is useful for you. I look forward for your comments and
feedback.
Thanks Vijay Prativadi.