使用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);

  

最新文章

  1. lintcode最长回文子串(Manacher算法)
  2. node.js下LDAP查询实践
  3. linux下打包文件或文件夹
  4. Undefined symbols for architecture x86_64: ( linker command failed with exit code 1)
  5. Eclipse下导入外部jar包的3种方式 (zhuan)
  6. 一段Android里面打印CallStatck的代码
  7. ListView 文件重命名
  8. OC2_点语法(属性关键字)
  9. What is the innovator&rsquo;s solution&mdash;&mdash;什么才是创新的解决方案2
  10. compareTo()
  11. iOS 取得CGimage字节数据的方法
  12. linxu安装OSX
  13. IHttpModule接口事件执行 获取Session 找了很多国内的都不对,从国外转过来一个测试可用的
  14. 基于visual Studio2013解决C语言竞赛题之1036递归求值
  15. hibernate exception nested transactions not supported 解决方法
  16. UVA-10037 Bridge---过河问题进阶版(贪心)
  17. codefroces 55D Beautiful numbers
  18. python学习笔记(七)、异常
  19. SOAP UI-----测webservice接口
  20. centos 7中监控mysql 数据库脚本(监控端口)

热门文章

  1. zabbix和prometheus的优缺点对比
  2. Golang通脉之流程控制
  3. 解决GitHub访问慢
  4. HMS Core Keyring携手航班管家和高铁管家,打造美好出行体验
  5. uni-app 安卓离线打包详细教程
  6. Spring Cloud Alibaba 使用Nacos作为配置管理中心
  7. cat userlist(课上练习)
  8. VIVADO 2017.4配置MIG IP注意事项
  9. cf Two Sets (我用二分最大匹配做的)
  10. 聊了聊宏内核和微内核,并吹了一波 Linux