使用IIS 与程序交互时,发布到IIS上获取不到数据提供方的数据(VSF5运行可以获取到数据),MemoryMappefFile基本使用不做介绍

数据方

 static void Main(string[] args)
{ Run();
}
static Random random = new Random();
private static MemoryMappedFile memoryFile; static void Run()
{
#region MyRegion var data = new List<PublishVariableValue>();
//1
data.Add(Factory("P631_HA2_Health"));
data.Add(Factory("P143_HA2_LPHD1_Health"));
data.Add(Factory("P631_HB2_Health"));
data.Add(Factory("P143_HB2_LPHD1_Health"));
data.Add(Factory("P3A109_Health"));
data.Add(Factory("P3A108_Health"));
data.Add(Factory("P3A107_Health"));
//2
data.Add(Factory("P3A106_Health"));
data.Add(Factory("P3A105_Health"));
data.Add(Factory("P3A104_Health"));
data.Add(Factory("P3A103_Health"));
data.Add(Factory("P3A102_Health"));
data.Add(Factory("P3A101_Health"));
data.Add(Factory("P3A202_Health"));
data.Add(Factory("P3A203_Health"));
data.Add(Factory("P3A204_Health"));
data.Add(Factory("P3A205_Health"));
data.Add(Factory("P3A206_Health"));
data.Add(Factory("P3A207_Health"));
data.Add(Factory("P3A208_Health"));
data.Add(Factory("P3A209_Health"));
//4
data.Add(Factory("MV109_Health"));
data.Add(Factory("MV108_Health"));
data.Add(Factory("MV107_Health"));
data.Add(Factory("MV106_Health"));
data.Add(Factory("MV105_Health"));
data.Add(Factory("MV104_Health"));
data.Add(Factory("MV103_Health"));
data.Add(Factory("MV101_Health"));
data.Add(Factory("MV203_Health"));
data.Add(Factory("MV204_Health"));
data.Add(Factory("MV205_Health"));
//5 data.Add(Factory("MV209_Health"));
data.Add(Factory("MV208_Health"));
data.Add(Factory("MV207_Health"));
data.Add(Factory("MV206_Health"));
//6
data.Add(Factory("LV03AN413_2_Health"));
data.Add(Factory("LV03AN413_3_Health"));
data.Add(Factory("LV03AN413_4_Health"));
data.Add(Factory("LV03AN413_5_Health"));
data.Add(Factory("LV03AN413_6_Health"));
//7
data.Add(Factory("LV03AN414_Health"));
data.Add(Factory("LV03AN413_1_Health"));
data.Add(Factory("LV03AN407_3_Health"));
data.Add(Factory("LV03AN407_2_Health"));
data.Add(Factory("LV03AN407_1_Health"));
//8
data.Add(Factory("LV03AN401_Health"));
data.Add(Factory("LV03AN402_Health"));
data.Add(Factory("LV03AN403_Health"));
data.Add(Factory("LV03AN404_Health"));
data.Add(Factory("LV03AN406_1_Health"));
data.Add(Factory("LV03AN406_2_Health"));
data.Add(Factory("LV03AN406_3_Health"));
data.Add(Factory("LV03AN406_4_Health"));
data.Add(Factory("LV03AN406_5_Health"));
data.Add(Factory("LV03AN406_6_Health"));
//9
data.Add(Factory("LV03AN416_1_Health"));
data.Add(Factory("LV03AN416_2_Health"));
data.Add(Factory("LV03AN416_3_Health"));
data.Add(Factory("LV03AN416_4_Health"));
data.Add(Factory("LV03AN417_1_Health"));
data.Add(Factory("LV03AN417_2_Health"));
data.Add(Factory("LV03AN417_3_Health"));
data.Add(Factory("LV03AN417_4_Health"));
data.Add(Factory("LV03AN418_1_Health"));
data.Add(Factory("LV03AN418_2_Health"));
data.Add(Factory("LV03AN418_3_Health"));
//10
data.Add(Factory("LV03AN419_7_Health"));
data.Add(Factory("LV03AN419_6_Health"));
data.Add(Factory("LV03AN419_5_Health"));
data.Add(Factory("LV03AN419_4_Health"));
data.Add(Factory("LV03AN419_3_Health"));
data.Add(Factory("LV03AN419_2_Health"));
data.Add(Factory("LV03AN419_1_Health"));
data.Add(Factory("LV03AN418_7_Health"));
data.Add(Factory("LV03AN418_6_Health"));
data.Add(Factory("LV03AN418_5_Health"));
data.Add(Factory("LV03AN418_4_Health"));
//11
data.Add(Factory("LV03AN306_9_Health"));
data.Add(Factory("LV03AN306_8_Health"));
data.Add(Factory("LV03AN306_7_Health"));
//12
data.Add(Factory("LV03AN301_Health"));
data.Add(Factory("LV03AN302_Health"));
data.Add(Factory("LV03AN303_Health"));
data.Add(Factory("LV03AN304_Health"));
data.Add(Factory("LV03AN306_1_Health"));
data.Add(Factory("LV03AN306_2_Health"));
data.Add(Factory("LV03AN306_3_Health"));
data.Add(Factory("LV03AN306_4_Health"));
data.Add(Factory("LV03AN306_5_Health"));
data.Add(Factory("LV03AN306_6_Health"));
//13
data.Add(Factory("LV03AN307_1_Health"));
data.Add(Factory("LV03AN307_2_Health"));
data.Add(Factory("LV03AN307_3_Health"));
data.Add(Factory("LV03AN307_4_Health"));
data.Add(Factory("LV03AN307_5_Health"));
data.Add(Factory("LV03AN307_6_Health"));
data.Add(Factory("LV03AN307_7_Health"));
data.Add(Factory("LV03AN307_8_Health"));
data.Add(Factory("LV03AN307_9_Health"));
data.Add(Factory("LV03AN308_1_Health"));
data.Add(Factory("LV03AN308_2_Health"));
//14
data.Add(Factory("LV03AN310_Health"));
data.Add(Factory("LV03AN309_Health"));
data.Add(Factory("LV03AN308_3_Health"));
//15
data.Add(Factory("LV03AN206_9_Health"));
data.Add(Factory("LV03AN206_8_Health"));
data.Add(Factory("LV03AN206_7_Health"));
//16
data.Add(Factory("LV03AN201_Health"));
data.Add(Factory("LV03AN202_Health"));
data.Add(Factory("LV03AN203_Health"));
data.Add(Factory("LV03AN204_Health"));
data.Add(Factory("LV03AN206_1_Health"));
data.Add(Factory("LV03AN206_2_Health"));
data.Add(Factory("LV03AN206_3_Health"));
data.Add(Factory("LV03AN206_4_Health"));
data.Add(Factory("LV03AN206_5_Health"));
data.Add(Factory("LV03AN206_6_Health"));
//17
data.Add(Factory("LV03AN207_1_Health"));
data.Add(Factory("LV03AN207_2_Health"));
data.Add(Factory("LV03AN207_3_Health"));
data.Add(Factory("LV03AN208_1_Health"));
data.Add(Factory("LV03AN208_2_Health"));
data.Add(Factory("LV03AN208_3_Health"));
data.Add(Factory("LV03AN208_4_Health"));
data.Add(Factory("LV03AN209_Health"));
//18
data.Add(Factory("LV03AN111_Health"));
data.Add(Factory("LV03AN108_Health"));
data.Add(Factory("LV03AN107_3_Health"));
data.Add(Factory("LV03AN107_2_Health"));
//19
data.Add(Factory("LV03AN101_Health"));
data.Add(Factory("LV03AN102_Health"));
data.Add(Factory("LV03AN103_Health"));
data.Add(Factory("LV03AN104_Health"));
data.Add(Factory("LV03AN106_1_Health"));
data.Add(Factory("LV03AN106_2_Health"));
data.Add(Factory("LV03AN106_3_Health"));
data.Add(Factory("LV03AN106_4_Health"));
data.Add(Factory("LV03AN106_5_Health"));
data.Add(Factory("LV03AN107_1_Health")); //温控
data.Add(Factory("LV1_BYQ_Health"));
data.Add(Factory("LV2_BYQ_Health"));
data.Add(Factory("LV3_BYQ_Health"));
data.Add(Factory("LV4_BYQ_Health"));
#endregion foreach (var item in data)
{
Console.WriteLine($"Name:{item.name},Value:{item.value}");
} bool flag2 = memoryFile == null;
if (flag2)
{
memoryFile = MemoryMappedFile.CreateOrOpen("Global\\EMOSTServerPublishVariables", 1024*100); }
var stream = memoryFile.CreateViewStream(0,1024*100,MemoryMappedFileAccess.Write);
var formatter = new BinaryFormatter();
stream.Seek(0L, SeekOrigin.Begin);
formatter.Serialize(stream, data);
stream.Close();
stream.Dispose(); Thread.Sleep(1000);
Run();
}
static PublishVariableValue Factory(string name)
{ return new PublishVariableValue
{
value = random.Next(0,2),
name = name,
source = "CTAPI"
};
}

  接受数据方

 MemoryMappedFileSecurity mSec = new MemoryMappedFileSecurity();
mSec.AddAccessRule(new AccessRule<MemoryMappedFileRights>("everyone",
MemoryMappedFileRights.FullControl, AccessControlType.Allow));
var memoryMappedFile = MemoryMappedFile.CreateOrOpen("Global\\EMOSTServerPublishVariables", 1024 * 100, MemoryMappedFileAccess.ReadWriteExecute, MemoryMappedFileOptions.None, mSec, HandleInheritability.Inheritable);
memoryMappedFile.SetAccessControl(mSec);
var strream = memoryMappedFile.CreateViewStream();
var formatter = new BinaryFormatter();
strream.Seek(0L, SeekOrigin.Begin);
List<PublishVariableValue> result = formatter.Deserialize(strream) as List<PublishVariableValue>;
return Json(result, JsonRequestBehavior.AllowGet);

  

MemoryMappedFile 在IIS与程序跨程序交互数据的权限问题的更多相关文章

  1. 通过钩子程序跨程序关闭Window

    需求: 在实际场景中会有自身程序在调用第三方的动态库过程中,因为第三方的动态库弹框导致线程阻塞,必须手动将弹窗关闭后才能回到自身程序的主线程中. 最简单的场景就是很多自助设备,本身是没有固定操作员的, ...

  2. 微信小程序跨页面获取数据示例

    index.wxml <navigator class="navs" url="{{urls}}"> 中国 </navigator> i ...

  3. Android入门(十四)内容提供器-实现跨程序共享实例

    原文链接:http://www.orlion.ga/661/ 打开SQLite博文中创建的 DatabaseDemo项目,首先将 MyDatabaseHelper中使用 Toast弹出创建数据库成功的 ...

  4. IIS安装与MVC程序部署

    最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...

  5. android: 实现跨程序数据共享

    简单起见,我们还是在上一章中 DatabaseTest 项目的基础上继续开发,通过内容提供器 来给它加入外部访问接口. 打开 DatabaseTest 项目,首先将 MyDatabaseHelper ...

  6. 发布在IIS上的Web程序,调用服务器的COM组件

    场景大致是这样的,在工厂中分布着许多的PDA点,这些PDA点都要进行实时的扫描--打印操作.实现方法是采用网络打印机,然后服务器安装驱动,管理着所有的打印机.然后服务器,发布一个WebService, ...

  7. iis重写模块实现程序自动二级域名,微软提供的URL重写2.0版本适用IIS以上

    在iis7以后微软提供了url重写2.0版本,可以通过安装重写组件来实现.适用于iis7以上版本. 安装有两种方式可以选择,一是下载安装文件,二是通过“web平台安装程序”安装 1.下载安装文件 下载 ...

  8. 微信小程序:JS 交互逻辑

    微信小程序:JS 交互逻辑 一.JS 交互逻辑 一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击.获取用户的位置等等.在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作. ...

  9. WEBXONE IIS部署C/S程序

    WEBXONE IIS部署C/S程序 在EXE的主窗体的ONCREATE()里添加如下代码,部署的时候记得带wxoBase.dll. uses wxoExec; procedure TFrmMain. ...

随机推荐

  1. 基于TLS证书手动部署kubernetes集群

      一.简介 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容器集群管理系统 ...

  2. 某个buuctf的题(easy_tornado)

    题目:http://88099f53-12b6-470a-9993-b73e4155940e.node3.buuoj.cn/ 1首先看三个文件的内容 2简单分析 如果出题人没整一些花里胡哨的,那么fl ...

  3. FastAPI 学习之路(十六)Form表单

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  4. CAM对象样式表

    CAM对象样式表 121 160 UF_machining_task_type UF_mach_order_task_subtype 112 UF_machining_null_grp_type 无 ...

  5. [对对子队]会议记录4.19(Scrum Meeting10)

    今天已完成的工作 何瑞 ​ 工作内容:搭建第2关,基本完成第3关 ​ 相关issue:搭建关卡2.3 ​ 相关签入:4.19签入1 4.19签入2 刘子航 ​ 工作内容:完成关卡选择界面的设计图 ​ ...

  6. python +spatialite + window 解决方案(https://www.jianshu.com/p/5bc7d8b7b429)

    运行环境在windows 10 64bit.先将python安装完成.然后,到 spatilite官网 找到MS(即Microsoft)版本,下载64位的mod_spatialite,将其先解压到目标 ...

  7. Qt字符编码小知识

    1.VS2010默认编码是GBK,Qt5的内置编码是utf-8,想要在VS2010及其以上版本,优雅的使用utf-8的字符编码需要 // Coding: UTF-8(BOM) #if defined( ...

  8. CODING —— 云原生时代的研发工具领跑者

    本文为 CODING 创始人兼 CEO 张海龙在腾讯云 CIF 工程效能峰会上所做的分享. 文末可前往峰会官网,观看回放并下载 PPT. 大家上午好,很高兴能有机会与大家分享 CODING 最近的一些 ...

  9. Vulnhub实战-dr4g0n b4ll靶机👻

    Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...

  10. PWN环境搭建

    目录 PWN环境搭建 需要的工具或系统 安装PWN工具 pwntools (CTF库.漏洞利用库) pwngdb(GDB插件) checksec(查保护) ROPGadget(二进制文件查找工具) o ...