一起谈.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);
目录
相关文章
|
18天前
|
人工智能 物联网 开发工具
.NET技术:多元语言、丰富库与跨平台能力引领软件开发新纪元。
`【7月更文挑战第4天】.NET技术:多元语言、丰富库与跨平台能力引领软件开发新纪元。从企业应用、云服务到游戏开发,其角色日益凸显。随着微软的持续创新与社区合作,未来.NET将在物联网、AI等领域拓宽应用,开发者应把握趋势,共创未来。`
19 0
|
18天前
|
人工智能 开发框架 Devops
.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。
【7月更文挑战第4天】.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。此外,讨论了.NET如何通过性能优化、DevOps集成、AI与ML支持以及开源策略应对未来挑战,为开发者提供强大工具,共创软件开发新篇章。
20 3
|
18天前
|
人工智能 前端开发 开发工具
**.NET技术概览:** 本文探讨.NET的核心优势
【7月更文挑战第4天】**.NET技术概览:** 本文探讨了.NET的核心优势,如统一开发平台、Visual Studio的强大工具、跨平台能力及丰富的类库。它在现代应用中的创新应用包括企业级、Web、移动、云服务和游戏开发。同时,面对性能优化、容器化、AI集成等挑战,.NET正寻求未来机遇,通过开源社区持续发展。开发者应抓住这些趋势,利用.NET推动软件创新。
23 1
|
18天前
|
人工智能 前端开发 Devops
NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。
【7月更文挑战第4天】**.NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。实际应用涵盖企业系统、Web、移动和游戏开发,以及云服务。面对性能挑战、容器化、AI集成及跨平台竞争,.NET持续创新,开发者应关注技术趋势,提升技能,并参与社区,共同推进技术发展。**
16 1
|
18天前
|
人工智能 前端开发 开发工具
.NET技术探析:优势、创新应用及挑战。
【7月更文挑战第4天】**.NET技术探析:优势、创新应用及挑战。本文分三部分展开,阐述了.NET作为统一多语言开发平台的核心优势,如强大的Visual Studio工具、跨平台能力与丰富的类库;探讨了其在企业级、Web、移动及游戏开发中的创新角色;并指出面临性能优化、容器化、AI集成等挑战及未来开源社区驱动的发展机遇。通过理解与应对,开发者可借助.NET推动软件开发进步。**
20 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
118 0
|
2月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
44 0
|
2月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
178 5
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
|
2月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css

热门文章

最新文章