TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
Yunus DOĞU
(0Microsoft Partne)
When:
28 Dec 2011 2:34 AM
Last revision by
Ed Price - MSFT
(aMicrosof)
When:
16 Sep 2012 10:22 PM
Revisions:
3
Comments:
1
Options
Subscribe to Article (RSS)
Share this
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using
these instructions
.
Wiki
>
TechNet Articles
>
Silverlight 3 Beta - Lokal Mesajlaşma (Local Messaging) (tr-TR)
Silverlight 3 Beta - Lokal Mesajlaşma (Local Messaging) (tr-TR)
Article
History
Silverlight 3 Beta - Lokal Mesajlaşma (Local Messaging) (tr-TR)
Merhaba arkadaşlar, bu makalemizde Silverlight 3 Beta ile birlikte gelen Lokal Mesajlaşma (Local Messaging) işleminin nasıl yapıldığını inceleyeceğiz.
Silverlight 3 Beta ile birlikte gelen Local Messaging(Lokal Mesajlaşma) özelliği ile iki Silverlight uygulaması arasında iletişim kurup birbirlerine mesajlar göndermesini sağlayabiliyoruz. İster bir sayfada ki iki Silverlight uygulaması arasında, ister sekmeler(tab) arasında ki sayfaların içerisinde yer alan Silverlight uygulamalarında ve istersek farklı browserlar da bulunan Silverlight uygulamalarının birbirleriyle haberleşmesini sağlayıp buna bağlı olarak çeşitli işlemler yapıp birbirleri arasında veri alışveriş yapabiliyoruz. Yani Internet Explorer da çalışan bir Silverlight uygulaması, Safari de çalışan Silverlight uygulamasına bir mesaj gönderebiliyor. Safari de çalışan uygulama da bu mesaja bağlı olarak işlemler yapabiliyor. System.Windows.Messaging namespace’i altında mesaj göndermek ve mesajı almak için 2 sınıf var. Mesajı göndermek için LocalMessageSender
,
Mesajı almak için
LocalMessageReceiver sınıfını kullanıyoruz.
Yeni bir Silverlight uygulaması oluşturalım. Bu uygulama bizim için başka bir uygulama ile iletişim kurup o uygulamaya mesaj gönderecek. Bu uygulama içinde bir TextBox ve bir de Button olsun. Butona bastığımızda TextBox’a girilen bilgiyi diğer uygulamaya göndereceğiz.
[XAML]
<
UserControl
xmlns
=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns
:
x
=”http://schemas.microsoft.com/winfx/2006/xaml”
xmlns
:
mc
=”http://schemas.openxmlformats.org/markup-compatibility/2006”
x
:
Class
="Silverlight30LocalMessaging.MainPage"
Width
="400"
Height
="300">
<
Grid
x
:
Name
="LayoutRoot"
Background
="White">
<
TextBox
x
:
Name
="txtMessage"
Margin
="82,86,86,0"
VerticalAlignment
="Top"
Text
=""
TextWrapping
="Wrap"/>
<
Button
x
:
Name
="btnGonder"
Margin
="163,124,173,0"
VerticalAlignment
="Top"
Content
=" Gönder"/>
</
Grid
>
</
UserControl
>
Butona tıklandığında mesaj gönderme işlemini yapacağız, bunun için ilk olarak Click eventini oluşturalım. Bu Event içinde mesajı gönderebilmemiz için postaci isminde
LocalMessageSender
nesnesi oluşturalım. LocalMessageReceiver nesnesinin SendAsync metodunda alıcıya göndereceğimiz bilgiyi bildiriyoruz. Mesaj gönderildiğinde tetiklenen SendCompleted isminde bir event var. Bu eventinin eventargument’in Response özelliği ile mesajı alanın bize gönderdiği cevabı alabiliriz.
[C#]
namespace
Silverlight30LocalMessaging
{
public
partial
class
MainPage
:
UserControl
{
public
MainPage()
{
InitializeComponent();
// Button için Click Eventini oluşturalım.
this
.btnGonder.Click +=
new
RoutedEventHandler
(btnGonder_Click);
}
void
btnGonder_Click(
object
sender,
RoutedEventArgs
e)
{
// Local Messaging özelliğini kullanabilmemiz için System.Windows.Messaging namespace’i altında yer alan Local MessageSender sınıfını kullanıyoruz. Yapıcı metotda alıcı için bir isim belirtiyoruz.
System.Windows.Messaging.
LocalMessageSender
postaci =
new
System.Windows.Messaging.
LocalMessageSender
(
"Adres"
);
// Gönderilecek olan mesajı SendAsync metodu ile gönderiyoruz.
postaci.SendAsync(txtMessage.Text);
// Mesaj yerine gettiğinde çalışacak olan eventi oluşturalım.
postaci.SendCompleted +=
new
EventHandler
<System.Windows.Messaging.
SendCompletedEventArgs
>(postaci_SendCompleted);
}
// Mesaj yerine gettiğinde çalışacak olan event. Mesajı alan silverlight uygulaması geriye bir yanıt gönderebilir, e.Response özelliği ile alıcının bize yolladığı bu yanıtı verir.
void
postaci_SendCompleted(
object
sender, System.Windows.Messaging.
SendCompletedEventArgs
e)
{
MessageBox
.Show(e.Response);
}
}
}
Mesajı gönderdik, mesajı alacak bir alıcı yani başka bir Silverlight uygulamasına ihtiyacımız var. Bunun için bir Silverlight uygulaması daha oluşturalım. Bu uygulamada sadece TextBlock olsun. TextBlock kontrolünün text özelliğinde gönderilen mesajı görüntüleyeceğiz.
[XAML]
<
UserControl
x
:
Class
="Silverlight30LocalMessagingAlici.MainPage"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns
:
x
="http://schemas.microsoft.com/winfx/2006/xaml"
Width
="400"
Height
="300">
<
Grid
x
:
Name
="LayoutRoot"
Background
="White">
<
TextBlock
x
:
Name
="tbAlici"
FontSize
="20"
HorizontalAlignment
="Center"
VerticalAlignment
="Center" ></
TextBlock
>
</
Grid
>
</
UserControl
>
Uygulama çalıştığında Mesajları alabilmek için alici adında
LocalMessageReceiver
nesnesi oluşturalım. LocalMessageReceiver nesnesinin gönderilen mesajları alabilmesi için Listen metodunu çağırmamız gerekir. Uygulamaya Mesajlar asenkron olarak gelecektir, Mesaj geldiğinde haberdar olabilmemiz için MessageReceived isimli bir event var. Bu event ile gelen mesajı alıp, mesajı gönderene cevap gönderebiliriz. Gelen mesajı almak için MessageReceived eventinin argümanları arasında Message isimli bir özellik var. Mesajı gönderene cevap göndermek için de Response özelliğini kullanabiliyoruz
[C#]
namespace
Silverlight30LocalMessagingAlici
{
public
partial
class
MainPage
:
UserControl
{
public
MainPage()
{
InitializeComponent();
// Uygulama çalıştığında çalışacak olan event.
this
.Loaded +=
new
RoutedEventHandler
(MainPage_Loaded);
}
void
MainPage_Loaded(
object
sender,
RoutedEventArgs
e)
{
// Uygulama çalıştığında mesajın alınabilmesi için LocalMessageReceiver nesnesini oluşturalım. Yapıcı metodunda gönderen tarafında bildirilen adresi bildiriyoruz.
System.Windows.Messaging.
LocalMessageReceiver
alici =
new
System.Windows.Messaging.
LocalMessageReceiver
(
"Adres"
);
// Alıcıyı mesajları alabilmesi için açıyoruz. Alici dinlemeye başladı…
alici.Listen();
// Mesaj geldiğinde çalışacak olan eventi oluşturalım.
alici.MessageReceived +=
new
EventHandler
<System.Windows.Messaging.
MessageReceivedEventArgs
>(alici_MessageReceived);
}
void
alici_MessageReceived(
object
sender, System.Windows.Messaging.
MessageReceivedEventArgs
e)
{
// Mesaj geldi, EventArgument’de Response isimli bir özellik var. Bu özellik mesajı gönderene bir yanıt gönderiyor.
e.Response =
"Teşekkürler, Mesaj alındı !"
;
// EventArgument’in Message özelliği bize gönderilen mesajı veriyor.
tbAlici.Text = e.Message;
// EventArgument’in SenderDomain özelliği mesajı gönderen uygulamanın adresini veriyor.
// e.SenderDomain;
}
}
}
Şimdi uygulamalarımızı test edelim, iki uygulamayı da çalıştıralım.
Farklı browserlar da test edelim, Chrome’da mesajı gönderen uygulamayı çalıştıralım.
has broken image
,
Silverlight
,
tr-TR
[Edit tags]
Leave a Comment
Please add 5 and 5 and type the answer here:
Post
Wiki - Revision Comment List(Revision Comment)
Sort by:
Published Date
|
Most Recent
|
Most Useful
Comments
Fernando Lugão Veltem
4 Jan 2012 7:28 AM
Fernando Lugão Veltem edited Original. Comment: alter title and tags
Edit
Page 1 of 1 (1 items)
Wikis - Comment List
Sort by:
Published Date
|
Most Recent
|
Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
Posted by
Fernando Lugão Veltem
on
4 Jan 2012 7:28 AM
Fernando Lugão Veltem edited Original. Comment: alter title and tags
Edit
Page 1 of 1 (1 items)