一起谈.NET技术,Silverlight杂记-本地程序间的互通

简介:   只要使用到两个类一个用来发送一个用来接收。可以有多个发送端,但只能有一个接收端。   来段demopublic partial class localcoon : UserControl {       public localcoon() {           InitializeC...

  只要使用到两个类一个用来发送一个用来接收。可以有多个发送端,但只能有一个接收端。

  来段demo

public   partial   class  localcoon : UserControl {
       
public  localcoon() {
           InitializeComponent();
           
//
           _sender  =   new  LocalMessageSender( " InAction " , LocalMessageSender.Global);
           textBox1.TextChanged 
+=  (s, e)  =>  {
               {
                   _sender.SendAsync(textBox1.Text);
               }
           };
       }
       
private  LocalMessageSender _sender;
       
private   void  button1_Click( object  sender, RoutedEventArgs e1) {
           
// 表示两个基于 Silverlight 的应用程序之间的本地消息传递通道的接收端。
           LocalMessageReceiver _receive;
           _receive 
=   new  LocalMessageReceiver( " InAction " ,
                ReceiverNameScope.Global, LocalMessageReceiver.AnyDomain);
           _receive.Listen();
           _receive.MessageReceived 
+=  (s, e)  =>  {
               textBlock3.Text 
=
                  
" Message:  "   +  e.Message  +  Environment.NewLine  +
                  
" NameScope  "   +  e.NameScope  +
                  
"  completed. "   +  Environment.NewLine  +
                  
" Response:  "   +  e.Response  +  Environment.NewLine  +
                  
" ReceiverName:  "   +  e.ReceiverName  +  Environment.NewLine  +
// 获取此发送方会将消息发送到的 LocalMessageReceiver 的名称。
                   " SenderDomain:  "   +  e.SenderDomain; // 获取此发送方会将消息发送到的 LocalMessageReceiver 的域
           };
       }
   }

25

  其中一个是IE9 一个是 opera浏览器。一些模糊的概念1域。详见扩展阅读

域(Domain)”和“应用程序域(AppDomain)”不是一回事。域表明了Silverlight应用程序的位置信息,诸如:“www.myuniversity.edu.cn”之类,而应用程序域则代表了Silverlight应用程序的运行环境,Silverlight插件在装载一个Silverlight应用程序时,会为其创建一个应用程序域作为其运行环境。

假设某网页使用多个<object>元素承载了多个Silverlight应用程序,则Silverlight插件会为每个Silverlight应用程序创建相互独立的应用程序域,这些Silverlight应用程序的“域”可以相同(只要来源于同一个网站),也可以不同(如果来源于不同的网站)

26

  自定义的时候可以是

 
 
Receiver = new LocalMessageReceiver( " InAction " ,
ReceiverNameScope.Global,
new string[] { " www.baidu.com " ,www.xxx.com});

  如果想指定任意可以是

4

其最终是调用下面函数发送的

 
[DllImport( " agcore " , EntryPoint = " LocalMessageSend " )]
private   static   extern   uint  LocalMessageSendNative
(IntPtr nativePeerPtr, 
uint  cMessage, [MarshalAs(UnmanagedType.LPWStr)]  string  message, 
uint  cReceiverName, [MarshalAs(UnmanagedType.LPWStr)]  string  receiverName,
 
uint  cReceiverDomain, [MarshalAs(UnmanagedType.LPWStr)]  string  receiverDomain,  uint  managedKey);
目录
相关文章
|
1月前
|
开发框架 安全 .NET
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱。它不仅加速了应用开发进程,提升了开发质量和可靠性,还促进了创新和业务发展,培养了专业人才和技术社区,为软件开发和数字化转型做出了重要贡献。
25 5
|
1月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
32 4
|
1月前
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
34 3
|
1月前
|
敏捷开发 缓存 中间件
.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素
本文深入探讨了.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素,并通过企业级应用和Web应用开发的实践案例,展示了如何在实际项目中应用这些模式,旨在为开发者提供有益的参考和指导。
24 3
|
1月前
|
开发框架 安全 Java
.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力
本文深入探讨了.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力。.NET不仅支持跨平台开发,具备出色的安全性和稳定性,还能与多种技术无缝集成,为企业级应用提供全面支持。
30 3

热门文章

最新文章