当前位置: 首页 > news >正文

网站幻灯片效果代码/网站建设的六个步骤

网站幻灯片效果代码,网站建设的六个步骤,b2c的典型代表,无锡专业网站制作可以在 Windows 和 Linux 上运行,利用了 .NET Core 的 System.IO.MemoryMappedFiles 库。这个类实现了共享内存的创建、打开、读取和写入功能。以下是对代码的一些分析和建议改进。 代码分析 初始化与打开共享内存: Init 方法用于创建新的共享内存段。OpenMem 方法…

可以在 Windows 和 Linux 上运行,利用了 .NET Core 的 System.IO.MemoryMappedFiles 库。这个类实现了共享内存的创建、打开、读取和写入功能。以下是对代码的一些分析和建议改进。

代码分析

  1. 初始化与打开共享内存:

    • Init 方法用于创建新的共享内存段。
    • OpenMem 方法用于打开已存在的共享内存段。
    • 这两个方法都处理了异常并返回状态码,非常适合用于错误处理。
  2. 关闭共享内存:

    • Close 方法确保释放资源,避免内存泄漏。
  3. 读写数据:

    • Read 和 Write 方法提供了数据读写的功能,支持指定偏移量和大小。
  4. 状态管理:

    • _isInitialized 和 _isOpened 标志用于跟踪共享内存的状态。
using System;
using System.IO.MemoryMappedFiles;
using System.Runtime.InteropServices;namespace MemoryDB
{class Class_ShareMemory{private MemoryMappedFile _memoryMappedFile;private MemoryMappedViewAccessor _viewAccessor;private long _memSize;private string _name;private bool _isInitialized;private bool _isOpened;public Class_ShareMem(){_isInitialized = false;_isOpened = false;}/// <summary>/// 初始化共享内存/// </summary>/// <param name="name">共享内存名称</param>/// <param name="size">共享内存大小</param>/// <returns></returns>public int Init(string name, long size){if (size <= 0) size = 0x00800000; // Default size_memSize = size;_name = name;try{// 根据操作系统设置共享内存名称string fullName = GetFullMemoryMappedFileName(_name);_memoryMappedFile = MemoryMappedFile.CreateNew(fullName, _memSize);_viewAccessor = _memoryMappedFile.CreateViewAccessor();_isInitialized = true;}catch (Exception ex){Console.WriteLine($"创建共享内存失败: {ex.Message}");return 2; // 创建失败}return 0; // 创建成功}/// <summary>/// 打开共享内存/// </summary>public int OpenMem(string name, long size){if (size <= 0) size = 0x00800000; // Default size_memSize = size;_name = name;try{// 根据操作系统设置共享内存名称string fullName = GetFullMemoryMappedFileName(_name);_memoryMappedFile = MemoryMappedFile.OpenExisting(fullName);_viewAccessor = _memoryMappedFile.CreateViewAccessor();_isOpened = true;}catch (Exception ex){Console.WriteLine($"打开共享内存失败: {ex.Message}");return 1; // 打开失败}return 0; // 打开成功}/// <summary>/// 关闭共享内存/// </summary>public void Close(){_viewAccessor?.Dispose();_memoryMappedFile?.Dispose();_isInitialized = false;_isOpened = false;}/// <summary>/// 读数据/// </summary>/// <param name="data">数据</param>/// <param name="offset">起始地址</param>/// <param name="size">个数</param>/// <returns></returns>public int Read(ref byte[] data, long offset, int size){if (offset + size > _memSize) return 2; // 超出数据区if (_isInitialized || _isOpened){_viewAccessor.ReadArray(offset, data, 0, size);}else{return 1; // 共享内存未初始化}return 0; // 读成功}/// <summary>/// 写数据/// </summary>/// <param name="data">数据</param>/// <param name="offset">起始地址</param>/// <param name="size">个数</param>/// <returns></returns>public int Write(byte[] data, long offset, int size){if (offset + size > _memSize) return 2; // 超出数据区if (_isInitialized || _isOpened){_viewAccessor.WriteArray(offset, data, 0, size);}else{return 1; // 共享内存未初始化}return 0; // 写成功}/// <summary>/// 根据操作系统获取完整的共享内存名称/// </summary>/// <param name="name">共享内存名称</param>/// <returns>完整的共享内存名称</returns>private string GetFullMemoryMappedFileName(string name){// 在 Windows 中使用 Global 前缀,在 Linux 中不使用if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)){return $"Global\\{name}";}else{return name; // Linux 上直接使用名称}}}
}

http://www.lryc.cn/news/581070.html

相关文章:

  • nas可以做网站服务器/网站站点查询
  • 北京seo供应商/宁波seo优化排名
  • wordpress4.7.8/福州seo排名优化
  • 做企业独立网站/搜索引擎优化培训
  • 在哪些网站可以做企业名称预审/aso关键字优化
  • 淄博桓台网站建设报价/万网登录入口
  • 定制网站设计公司/百度联系方式人工客服
  • blog网站模板/天津seo数据监控
  • 网站建设 系统 排名/友情链接怎么做
  • 自己做鞋子网站/百度 营销推广费用
  • 免费的网站模板哪里有/seo排名优化是什么意思
  • 香港服务器做营销网站/网络营销的认知
  • 2017年政府网站集约化建设/互联网营销师在哪里报名
  • 济源网站制作/html简单网页设计作品
  • 青岛公司建设网站/每日一则小新闻
  • 网站建设十佳/google推广服务商
  • wordpress 仿主题下载/重庆百度推广seo
  • 纺织厂网站模板/最新地址
  • 上市公司做网站有什么用/广州网站排名优化公司
  • 广元网站建设/免费seo诊断
  • asp.net开发移动网站模板下载/怎么制作网站?
  • 网站站点建立/免费发布软文广告推广平台
  • 做网站网站关键词是什么/seo工程师是做什么的
  • 最权威的做网站设计哪家好/促销活动推广语言
  • wordpress安装不上主题/seo入门基础教程
  • 成都网站外包优化/宁波正规seo快速排名公司
  • 在网站制作完成后网站建设/谷歌seo搜索
  • app小程序网站开发是什么/semantic
  • 做的网站怎么让别人也能看到吗/市场监督管理局电话
  • 个人 申请域名做网站/seo建站要求