当前位置:编程学习 > C#/ASP.NET >>

在两个进程(或应用程序)易做图享同一个DLL内的数据(不是各自引用),详细情况可看示例....

示例:
//公共类,编译成PublicClass.DLL文件
public class PublicClass{
   public static string info = "" ;
}


//程序1,编译成控制台应用程序.exe文件
using publicClass{

public class Porgame1{
static void Main(){
   PublicClass.info="程序1" ;
   Console.WriterLine( PublicClass.info );
 }
}
}


//程序2,编译成控制台应用程序.exe文件
using publicClass{

public class Porgame2{
static void Main(){
      Console.WriterLine( PublicClass.info );
//***在程序1运行后,再运行程序2 ,这时,我想要的结果就是显示出"程序1"这个结果 ***
 }
}
}
以上代码的意图就是:两个进程(或应用程序)要同时跨越同一个DLL的边界,以达到两个进程共享同一个局部内存空间的数据 --------------------编程问答-------------------- 请说说有什么好的解决方案 --------------------编程问答-------------------- 可否用另外的途径实现相同的效果?例如注册表、XML文件、等。 --------------------编程问答-------------------- 写文件或数据库是不可以的,如这样就没有意义了 --------------------编程问答-------------------- 两个进程共享同一个局部内存空间的数据?
按你的要求,这样是不可能实现的。
可以利用外部的文件等中介实现。或者利用指针(用c) --------------------编程问答-------------------- CreateFileMapping --------------------编程问答-------------------- 没试过,不过C#似乎不太好做这个东西 --------------------编程问答-------------------- DCOM, WebService, .Net Remoting或WCF都可以实现,那个PublicClass.DLL就相当于服务器端的服务发布出来, Porgame1和Porgame2就是2个Client端来使用服务器端的服务或共享数据.
分布式系统就是这样的. --------------------编程问答-------------------- 楼上的都可以,觉得不想弄大家伙的话可以自己用Socket
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,