强强的个人技术博客 医技科室软件(PACS, RIS)码农

ASP.NET轻量级MVC框架Nancy使用

Nancy是一个轻量级的MVC框架,也可以完全脱离IIS.

下面是官网的一些介绍:

Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。

Nancy 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。让你有更多时间专注于你的代码和程序。

2023年1月5日 | 发布:强强 | 分类:ASP.NET | 评论:0

WPF 获取程序路径

WPF 获取程序路径的方法


1.Application.ExecutablePath;

获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。


2. AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

获取或设置包含该应用程序的目录的名称。

2022年12月20日 | 发布:强强 | 分类:ASP.NET | 评论:0

WPF DataGrid 多绑定设置

WPF  DataGrid 多绑定设置


在WPF中 DataGrid 转换使用多绑定参数转换的使用方法:

1.集成 IMultiValueConverter 接口,实现一个转换器:

2022年11月28日 | 发布:强强 | 分类:ASP.NET | 评论:0

webScoket 和 C# 建立Socket连接

最近使用的web项目中,需要服务器直接触发前端显示效果。

所以研究了一下websocket:

2022年11月17日 | 发布:强强 | 分类:ASP.NET | 评论:0

在C#中使用OpenCV(使用OpenCVSharp)

1、什么是OpenCVSharp

      为了解决在Csharp下编写OpenCV程序的问题,我做过比较深入的研究,并且实现了高效可用的方法(GOCW);这几天在搜集资料的时候,偶尔看见了OpenCVSharp,从时间上来看,它已经经过了更久的发展,应该有许多直接借鉴、或者直接使用的地方。

       OpenCVSharp有一名日本工程师开发,项目地址为:https://github.com/shimat/opencvsharp。其是OpenCV的.NET wrapper,它比Emgucv更接近于原始的OpenCV,并且有很多的样例参考,其采用LGPL发行,对商业应用友好(基本上相当于BSD)。

2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0

NET(C#):线程本地存储(Thread-Local Storage)

1. 使用ThreadStatic特性
ThreadStatic特性是最简单的TLS使用,且只支持静态字段,只需要在字段上标记这个特性就可以了:

//TLS中的str变量
[ThreadStatic]

2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 利用MetadataType 实现对象统一验证

       在我们开发过程中经常会遇到数据有效性性验证,例如非空验证,长度验证以及其他验证,如果每个方法单独验证会导致方法入口一堆重复的代码,如果利用MetadataType进行统一验证就能减少很多重复的代码

2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0

基于.NET平台常用的框架整理

NET常用的一些开源组件整理:

1.导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现)

2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 代码记录 可序列化对象拷贝

程序开发中经常遇到对象复制的,C#有浅拷贝和深拷贝的区别,避免浅拷贝的复制一个办法,就是可序列化对象的序列化复制



    /// <summary>
    /// 序列号复制类
    /// </summary>
    public class SerializeHelper
    {
        /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="target"></param>
        /// <returns></returns>
        public static string Serializable(object target)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                new BinaryFormatter().Serialize(stream, target);
                return Convert.ToBase64String(stream.ToArray());
            }
        }
        /// <summary>
        /// 反序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="target"></param>
        /// <returns></returns>
        public static T Derializable<T>(string target)
        {
            byte[] targetArray = Convert.FromBase64String(target);
            using (MemoryStream stream = new MemoryStream(targetArray))
            {
                return (T)(new BinaryFormatter().Deserialize(stream));
            }
        }
        /// <summary>
        /// 合并反序列化与序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public static T DeepClone<T>(T t)
        {
            return Derializable<T>(Serializable(t));
        }
    }


2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0

swagger组件给asp.net webapi文档生成

1.名词解释

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

    1)Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。

2022年11月8日 | 发布:强强 | 分类:ASP.NET | 评论:0