使用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. app定位工具介绍

     一.元素获取工具WEditor使用   1.安装WEditor:pip3 install weditor   2.启动WEditor:python3 -m weditor    Android : ...

  2. from athletelist import AthleteList出现红色下滑波浪线警告

    问题:from athletelist import AthleteList出现红色下滑波浪线警告 经过个人网上搜索了解,这个问题是因为python找不到相关的.py文件,无法导入athletelis ...

  3. for...of 和 for...in 是否可以直接遍历对象,有什么解决方案

    答案: for...of不能直接遍历对象,for  in可以直接遍历对象 原因: for...of需要实现iterator接口,对象没有实现iterator接口 解决: const obj = {a: ...

  4. Sequence Model-week1编程题1(一步步实现RNN与LSTM)

    一步步搭建循环神经网络 将在numpy中实现一个循环神经网络 Recurrent Neural Networks (RNN) are very effective for Natural Langua ...

  5. Manjaro安装Mariadb

    Mariadb是MySQL的一个复刻.由于MySQL被Oracle公司收购,MySQL的一些原始开发者担心MySQL会有开源方面的某些隐患,故领导开发了Mariadb. 如今,Mariadb已经作为许 ...

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

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

  7. BUAA 软工 结对项目作业

    1.相关信息 Q A 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目作业 我在这个课程的目标是 系统地学习软件工程开发知识,掌握相关流程和技术,提升 ...

  8. boost编译中的细节问题

    原文链接 http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html 生成文件命名规则:boost中有许多库,有的库需要编译.而有 ...

  9. netty系列之:netty实现http2中的流控制

    目录 简介 http2中的流控制 netty对http2流控制的封装 Http2FlowController Http2LocalFlowController Http2RemoteFlowContr ...

  10. Get value from agent failed: cannot connect to [[192.168.8.102]:10050]: [113] No route to host

    192.168.8.102主机down掉,开机就可以