使用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. 2020.11.1--pta阶梯练习赛补题

    7-5 古风排版 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<),是每一列的字符数.第二行给出一个长度不超过1 ...

  2. Windows Terminal 和 WSL

    Windows Terminal ,配置启动目录为 WSL : \\wsl$\Ubuntu\home

  3. vue介绍啊

    声明式渲染:vue的核心是一个允许你才用一个简洁的模板语法来声明式的将数据渲染进行DOM的系统 html部分:<div id="app"> {{message}}< ...

  4. PHP伪协议与文件包含漏洞1

    PHP文件包含漏洞花样繁多,需配合代码审计. 看能否使用这类漏洞时,主要看: (1)代码中是否有include(),且参数可控: 如: (2)php.ini设置:确保 allow_url_fopen= ...

  5. 【数据结构与算法Python版学习笔记】图——骑士周游问题 深度优先搜索

    骑士周游问题 概念 在一个国际象棋棋盘上, 一个棋子"马"(骑士) , 按照"马走日"的规则, 从一个格子出发, 要走遍所有棋盘格恰好一次.把一个这样的走棋序列 ...

  6. Linux上传下载神器之 lrzsz

    在开发的过程中,经常遇到 需要在 Linux 和 Windows 之间上传下载文件的情况 这时,一般都是使用 FTP 或者 WinSCP 工具进行上传下载, 虽然也能解决问题,但是这些工具需要在本地安 ...

  7. rocketMQ(一)基础环境

    一.安装: http://rocketmq.apache.org/dowloading/releases/ https://www.apache.org/dyn/closer.cgi?path=roc ...

  8. Vue报错 type check failed for prop “xxx“. Expected String with value “xx“,got Number with value ‘xx‘

    vue报错    [Vue warn]: Invalid prop: type check failed for prop "name". Expected String with ...

  9. java中的软,弱,虚引用介绍与特性分析

    java的弱,虚,软引用介绍 1.弱,虚,软引用的介绍 对于绝大部分的对象而言,在程序中是存在着一个引用变量引用该对象,这是常见的引用方式,也就是常说的 强引用,对于强引用引用的对象,系统JVM是不会 ...

  10. Noip模拟50 2021.9.10

    已经好长时间没有考试不挂分的良好体验了... T1 第零题 开场数据结构,真爽 对于这道题首先要理解对于一条链从上向下和从下向上走复活次数相等 (这可能需要晚上躺在被窝里面脑摸几种情况的样例) 然后就 ...