Friday, January 8, 2010

Custom Fonts in Silverlight 2.0

Hi all today i have learned something called custom fonts in silverlight 2.0.
it's really surprising me, it's very good feature.
follow the below stpes to create custom fonts in silverlight 2.0

Step1:
Create one silverlight applicaton. mean while get ttf extension file name.
Note: ttf is the extension for font.
step2:
Add atleast one ttf file in to our project folder
Example:webdings.ttf
step3:
after adding in to our project. add the code like the below in example.
then you will get the custom fonts in your browser.
Syntax:
FontFamily="Font_File_Name#Font_Name”
Example:
<TextBlock FontFamily="webdings.ttf#webdings" Text="Test"> </TextBlock>


Note:font_file_name and font_name is different except few.
if you give correct font_name then only it will work.

Accesssing Client bin Images in XAML.

In the client can not only xap file also can contain images. Those images can acccess from silverlight application.


Client Bin
Bluehils.jpg
imageaccess.xap

the above two files are there in the client bin.


if you want to access that image have to simple thing.


<Image Source="/Bluehills.jpg"> </Image>


Note:"/"

Thursday, January 7, 2010

Stylesheet using Silverlight.


In silverlight having different approach to creating styles. also styles can write in app.xaml in silverlight application.
app.xaml is a application resource file. it will shares styles accross all the pages.
also it will maintain all the configuration details.
This is the syntax for creating styles in App.XAML.


<Application.Resources>
<Style x:Key="stTextblock" TargetType="TextBlock"> <
Setter Property="Foreground" Value="Red"/> </Style>
</Application.Resources>

we can call this style accross all the pages and it's applicable only for TextBlock controls.


<Grid x:Name="LayoutRoot" Background="White">
<TextBlock x:Name="txtShow" Style="{StaticResource stTextblock}" Text="Bala">
</TextBlock> </Grid>

Tuesday, January 5, 2010

Best Practices for keeping large number of images in Silverlight

Before creating silverlight application. Create seprate soltion for keeping large number images.Application performance will increase. also maintaining the application will be easy.

Step 1:
Create one silverlight application.
step 2:
Create silverlight class library.The name of the project solution is "Resource"
step 3:
maintain all the images under "Resource" library.
step 4:
Add the "Resouce" reference to silverlight application.
step 5:
Bind the images in to silverlight application.
Example
like this:<image source="Resource;component/picture/winter.jpg>
"Reource" is Assembly or application name.

Picture is folder name

SLsvcutil.exe in silverlight

Generating Proxies for WCF Services in Silverlight.
The only way to generate the proxies in silverlight 2 through service reference.
But in silverlight 3 is different. it's having command line tool to geneate the proxies.
SLsvcutil.exe.
happy coding with silverlight.

Tuesday, December 29, 2009

Silver light 2.0 Timer

I have seen many forums asking about the timer so i thought i'd toss up a simple example.
To create timer have to use Dispatchtimer in System.Windows.Threading.
Go through the below example.
<Canvas>
<Canvas.Resources>
<Storyboard x:Name="Timer">
<DoubleAnimation Storyboard.TargetName="rectTimer" Storyboard.TargetProperty="Width" BeginTime="0:0:0" Duration="2"></DoubleAnimation>
</Storyboard>
</Canvas.Resources>
<Rectangle Loaded="rectTimer_Loaded" Visibility="Collapsed" x:Name="rectTimer">
</Rectangle>
</Canvas>

private void rectTimer_Loaded(object sender, RoutedEventArgs e)
{
System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0, 0, 0,1, 100);
myDispatcherTimer.Tick +=new EventHandler(myDispatcherTimer_Tick);
myDispatcherTimer.Start();
}
void myDispatcherTimer_Tick(object sender, EventArgs e)
{
HtmlPage.Window.Alert("TickEvent");
}

Monday, December 28, 2009

Making Transparent In Silverlight..

Now take a example of grid
Example:
<Grid x:Name="LayoutRoot" Background="{x:Null}">

How do we extract "XAP" file in Silverlight?


It's like archive and contains all the resources of silverlight application.
How do we extract xap file?
Step1:
Copy the xap file from clientBin and store in desktop of your machine.
step2:
change the extension in to zip
Example:
test.xap
test.xap.zip
Now you can extract the file.
it's contains one dll and asemblymanifest.info







Event Handler Using Silverlight

It's possible to create the eventhandler through XAML. also using codebehind can attach
event dynamically. It's usefull for dynamically craeate controls.
Example:
<Button Name="btnTest" Content="Test" Width="100" Background="Blue" Margin="1" Height="25"></Button>
public Page()

{
InitializeComponent();
btnTest.Click += btnTest_Click; //Attach Event
btnTest.Click -= btnTest_Click; //Detach Event
}

void btnTest_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hi How are you");
}

What is use of AppManifest.xml and Assemblyinfo.cs in Silverlight


App(Application) Manifest.
This is the place where we can find the list of assemblies used in the application.
Location Path:Properties/AppManifest
ApplicationInfo
It's contains the information about the project like version, name and publisher.
Location: Properties/Assemblyinfo.cs

Wednesday, December 23, 2009

HtmlPage.Window.Invoke in Silverlight

This method will invoke the javascript method from code behind.
Example

Page.xaml
<UserControl x:Class="_22Dec2009.Page" xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="1024" Height="800"> <Grid x:Name="LayoutRoot" Background="White"> <Border BorderThickness="2" BorderBrush="AliceBlue" CornerRadius="2" Margin="3"> <Button x:Name="Test" Click="Button_Click" Content="Test" Background="AliceBlue" Width="30" Height="20"> </Button> </Border> </Grid></UserControl>
Page.xaml.cs
This is code it will call the javascript method.
private void Button_Click(object sender, RoutedEventArgs e)

{ HtmlPage.Window.Invoke("getAlert", false); }
Default.aspx
<script language="javascript">
function getAlert() {
alert("sdf"); } </script>
Have you noticed in the eventargs. here in silverlight different..

Note:
Also we can call the javascript method throgh this code.
HtmlPage.Window.CreateInstance("getAlert", false);
happy coding! Enjoy


Response Redirect in Silverlight.


here in silverlight we have to use below code navigate to from one pages to another pages.

in the code we can mention target as well as browser features like height width....

Example
HtmlPage.Window.Navigate(new Uri("
http://www.google.com"),"_blank","width:100,height:20");

Full Screen Options in Silverlight.

i am just come to know in silverlight from the coding level we can make full screen for the browser.

This is namespace have to use for the making the full screen.
System.Windows;
Example code is
Application.Current.Host.Content.IsFullScreen=!Application.Current.Host.Content.IsFullScreen

Wednesday, December 16, 2009

Content Delivery Network.

Scott Guthrie has announced last september. This is one of the greatest improvement for who ever using Ajax in their application. Generally when we use Ajax all the library files will be loaded from our own server.

when end user accessing this site it has to travel through wire from few hundred miles to thousand miles.for avoiding these microsoft come up with new network called "Content Delivery Network".
if we use this in our project the performance will increase.


let me explain how it will increase the performance. suppose if you are accessing the site in India.
Content delivery network will find the shortest distance network and then it will load the all library files.
Instead of loading from one place.
Example:
<script src="
http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
instead of mentioning our own path

Wednesday, December 2, 2009

Materialized Views in Oracle

In some scenarios, you won't be in a position to improve the performance of a query without changing the database design. In those scenarios you can think of using materialized view.

Materialized view is a database object that contains the result of a query (it actually contains the rows).


SQL> create materialized view mview
2 build immediate
3 refresh complete on demand
4 as select count(1) from
5 (select state,zip,city,count(1) from mv_test1 group by state,zip,city);

Materialized view created.

Depends on the REFRESH mode specified MV will be refreshed ON DEMAND, ON COMMIT or at specific time.

Advantage:
Main advantage is Improved query perfomance.

Example:
Same query which is used to create the MV is executed here and it took 1.26 secs.

SQL> select count(1) from
2 (select state,zip,city,count(1) from mv_test1 group by state,zip,city);

COUNT(1)
----------
347

Elapsed: 00:00:01.26.

But selecting from MV took 0.01 seconds.

SQL> select * from mview ;

COUNT(1)
----------
347

Elapsed: 00:00:00.01

Disadvantage:

If you use refresh option as ON COMMIT and the MV is created on a transaction table which go through several DML operations, DB resources will be utilized to refresh the MV, and in turn it will slow down the db performance.

Tuesday, November 24, 2009

"String Builder" function in Javascript using Ajax(Enabling Scriptmanager).

I have come across new functionality called "stringbuilder" in javascript using Ajax.

please follow the below steps to enable the Stringbuilder.

Step 1:

Add script manager tag in the aspx page.


Step 2:

Example:

<script type="text/javascript">
function buildAString(title)
{
var headTagStart = "";
var headTagEnd = "";
var titleTagStart = "";
var sb = new Sys.StringBuilder(this._headTagStart);
sb.append(titleTagEnd);
sb.append(title);
sb.append(titleTagEnd);
sb.append(headTagEnd);
// Displays: "The result: "
alert("The result" + sb.toString());
}
var title = "A Title";
buildAString(title);
</script>

Wednesday, November 11, 2009

Calling Parent Method from child control using Events & Delegates.

Before starting we should very clear about event and delegate

Event: it's handler which will call the delegate and it will call the method.

Delegate: it's a function pointer, it will point to the particular function.

Let me explain about calling parent method from the child control.


Step 1: create one aspx pages and usercontrol pages.


step 2:

In the usercontrol create one button and lable. The scenoria is like this when user click on the button has to call the child method as well as the parent method.

Step 3:

Create one user control with the following code.


Childcontrol.ascx

<asp:Button ID="btnShow" runat="server" />
<asp:Label ID="lblShow" runat="server"></asp:Label>



Childcontrol.ascx.cs

public delegate void callDelegate();
public event callDelegate callEvent;

protected void Page_Load(object sender, EventArgs e)
{
btnShow.Click += delegate
{
lblShow.Text = "Hi how are u";
this.showData();
};
}
protected virtual void showData()
{
if (this.callEvent != null)
{
this.callEvent();
}
}


Step 4:


Create one aspx page with name of Parent with the following code.

parent.aspx


<%@ Register Src="~/UserControl/Childuser.ascx" TagPrefix="child" TagName="UC" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblParent" runat="server"></asp:Label>
<child:UC id="UC1" runat="server"></child:UC>
</div>
</form>
</body>
</html>


parent.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
UC1.callEvent += new Childuser.callDelegate(UC1_callEvent);
}

void UC1_callEvent()
{
lblParent.Text = "Hi Parent";
}












Monday, November 9, 2009

Base Pages using C#.Net

Now i am come with the scenario clearing the session on each page writing the code.
for clearing the session in common place.
we can use some thing called base pages. so that we can keep the code in seprate place.
Step 1:
Create one class file with the name of basepages.cs.
This will contain the one method which will clear the session objects permanently.
Example:
public class BasePages:System.Web.UI.Page

{
public void clearSession()

{ if (Page.User.Identity.IsAuthenticated == false)
{ Session.Abandon();
Response.Redirect("login.aspx");
}
}
}
step 2
Create one login with the extension of .Aspx page.in the code behind just inherit that base class method.
public partial class SessionCheck : Performance.BasePages

{
protected void Page_Load(object sender, EventArgs e)
{
base.clearSession();
}
}








Thursday, November 5, 2009

Memory Profiler.

This is the tool which will find out memory leakage. using this we can fine tune the code.

download: http://memprofiler.com/

Thursday, October 29, 2009

function overloading method in webservice.

It's not as direct like class overloding. In webservice we have to enable some settings for
enabling the function overloading. follow below steps.

1. Must Set Attributes of Web service. 2. Set binding ConformsTo = WSIProfile.None.
Sample Class with couple of overloaded methods which exposes as a webservice
Example:
Sample: using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;
[WebService(Namespace = "
http://tempuri.org/")]// set Binding information[WebServiceBinding(ConformsTo = WsiProfiles.None)] public class Service : System.Web.Services.WebService{ public Service () { //Uncomment the following line if using designed components //InitializeComponent(); }
// Set Message Name [WebMethod(MessageName="Add int Field")] public int Add(int a, int b) { return a + b; }
// Set Message Name [WebMethod(MessageName="Add float Field] public int Add(float a, float b) { return a + b; }}