一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Asp.net

VS 2022 不支持 .NET Framework 4.5 项目解决办法(Visual Studio 2022)

最近 C# 开发工具 Visual Studio 升级到了 2022,打开速度快了很多,开发体验也舒服很多。只是使用过程中遇到了一个比较尴尬的问题:默认Visual Studio 2022 不再支持安装 .NET Framework 4.5 组件,如下图所示:
选择组件里面已经不能选择4.5 / 4.0 的框架了。

龙生   17 Jun 2022
View Details

Asp.Net中WebService的定向开发

背景 工作中遇到一个需求,客户要求按照他们指定的入参和出参开发一套WebService接口。 出入参不能有丝毫的出入,以方便他们的业务系统调用。 目标已明确,我们看看入参和出参(为了保护客户的商业机密,出入参都是虚构的): 入参

  出参(正常)

  出参(错误)

出入参看上去都挺简单的,开工吧~   项目创建   添加Web服务 项目框架   SoapUI获取的请求模板如图   去掉上一步的前缀   入参XML节点配置   出参根节点配置 出参列表节点名称配置 出参XML节点名称完整配置   最终效果:与客户要求入参出参完全一致   异常出参需要用HttpModule自定义输出 定义HttpModule   异常输出方法 异常测试,效果哪下图 忘了说,HttpModule要在web.config里注册一下   完整代码下载>>

龙生   15 Apr 2022
View Details

EF查询视图返回重复数据的问题

在特殊的情况下查询过滤视图 会出现重复的数据结果集(返回的多条数据结果一致)。 原因是啥:主键 在数据库设计的理念中:每个表都应该的唯一的主键。但视图不同,EF中会自动按视图的最前几个非空型字段设置为主键。 如果在某些特殊的查询情况下。前几列数据一致时,EF就会返回重复数据。 解决方案: 1. 在使用的视图后 加入 AsNoTracking 阻止EF缓存数据集。(EF会依据主键建立数据缓存,实现后续的级联操作)。 2. 修改视图列顺序,将能区分内容的列放入最前列中,并保证为非空类型。   建议使用第二方案。   from:https://www.cnblogs.com/shikyoh/p/8794541.html

龙生   13 Apr 2022
View Details

C# netcore 开发WebService(Soap)

在NetCore时代开发WebService和FrameWork时代差别有一点儿大,毕竟NetCore是跨平台的一个框架,不过使用起来也得很简单,下面我就使用Visual Studio2019开发一个示例服务程序。你依然要注意我这个我写的这个demo是soap1.2。在开发前你必须清楚这一点,因为有很多时候SOAP1.1和SOAP1.2 并不通用。至于soap1.1我暂时不用netcore写示例了。 下面是开发详细过程: (1)创建新项目,选择ASP.NET Core Web应用程序 ,如下图 (2)配置新项目,为自己的项目起个名字,然后点击下一步,如下图 (3)进入模板选择页面,选择空,如下图 (4)项目建立好后需要我们通过NuGet引用开发依赖包  SoapCore,如下图一样添加引用。 (5)这时我们新一个类用于示例的返回和接受参数,类名StudentModel 代码如下:

  (6)添加接口约束IContract,我们和framework下保持一致,实现两个方法,Get和Add代码如下:

  (7)添加服务实现类StudentService,来实现我们的约定服务接口。代码如下:

  (8)在netcore中添加注入,这个想必不会陌生吧,现在netcore的注入已经很普遍了,修改 Startup.cs类中的ConfigureServices方法,添加代码如下:

  (9)添加服务发布接口地址,修改Startup.cs类中的Configure方法,在最后修改UseEndpoints这一部分代码如下:

  (10)点击Visual Studio2019上的运行按钮,此时便可以在浏览器里预览了。直接运行看到的页面是错误的地址,需要手动改一下地址如下:https://localhost:44376/StudentService.asmx,添加后半部分StudentService.asmx。我们便可以看到正常的返回了,如下图: 至此我们已经完成了一个简单的WebService,这个服务实现两个接口,一个Get 一个Add方法。 可以下载我示例源码百度网盘链接:https://pan.baidu.com/s/1wCXaGyThXTuS04aupJFsbg 查看提取码请先点击下方的捐赠按钮。 原创作品 相关文章:C# net framework 开发WebService(Soap)   from:https://lebang2020.cn/details/210110njneqn2f.html

龙生   08 Apr 2022
View Details

关于C# webservices 返回的soap节点标签会包含方法名+result的修改

关于C# webservices 返回的soap节点标签会包含方法名+result的修改 有时候做项目的时候需要用到webservices与其他系统进行交互,但是当使用asp.net开发webservice的时候,webservices返回数据的xml节点标签会默认带 方法名+result 如下图: 这样的返回方式不利于客户端进行解析 我们可以在方法头添加属性: 这样返回的数据就会变化   from:https://blog.csdn.net/qq_40099189/article/details/107120068

龙生   08 Apr 2022
View Details

解决出现“未能加载文件或程序集“System.Net.Http.Formatting, Version=5.2.3.0”的问题

我们在使用C#开发WebApi等相关程序时,可能因为某些原因会出现如下图所示的错误,原因就是我们在编译的时候,使用的dll库可能和最初的发生了改变,导致版本不一致造成的。

龙生   23 Feb 2022
View Details

Allow Zero Datetime=True产生的问题

MySQL连接字符串里加上了“Allow Zero Datetime=True”,导致错误:

纠基原因,这句配置允许零日期后,MySQL与.Net的日期类型是不一样的,导致转换失败。去掉就正常了,默认值是False。

 

龙生   17 Feb 2022
View Details

.NET 大数据量并发解决方案

大并发大数据量请求一般会分为几种情况:

大量的用户同时对系统的不同功能页面进行查找、更新操作
大量的用户同时对系统的同一个页面,同一个表的大数据量进行查询操作
大量的用户同时对系统的同一个页面,同一个表进行更新操作

龙生   28 Jan 2022
View Details

ASP.NET MVC5 实现基于Quartz.NET任务调度

 工作之余。技术?。记是不可能记住的。 只有写点东西 才能维持得了生活这样子的。好早就像写一篇关于任务调度的文章。终究是太懒了 一、Quartz.NET介绍 Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 官网:http://www.quartz-scheduler.net/ 源码:https://github.com/quartznet/quartznet 二、Quartz.NET用途 一,可以定时发邮件通知。 二 , 电商网站的定时打折活动。(比如规定11月11日 淘宝购买女朋友打八折) 三, 定时对数据更新 或者添加。 四,自己朋友生日。 可以定时发生日祝福。 等等 (我也不一一举例了) 三、Quartz.NET安装 我使用的VS版本是2015的  选择工具  – NuGet包管理 – 管理解决方案的NuGet包   输入 Quartz.NET 安装   还可以通过NuGet控制台 通过安装命令

四、Quartz.NET实现思路 一,继承并实现IJob接口,在Execute 方法中写你要做的事情(切记 ) 二,使用Quartz 中的API 定义好 工作 触发器 以及工厂 三,加入可视化(远程管理)  四,建立配置的通讯。 五,在全局类(Global.asax)Application_Start注册并开启定时任务   五、上代码 其中JobWork 是我的定义的工作文件  里面有你要执行的工作已经对应的触发器(一个工作对应一个触发器) 首先 我写了一个向文本文件中插入文字的方法已经触发器 (注意 必须继承IJob  要做的事情写在 Execute 中)  

我这里设置的是5分钟执行一次。 你也可以让他5秒 5小时执行一次。 关于时间配置 官方一些常用的实例 0 0 12 * * ? 每天12点触发 0 15 10 ? * * 每天10点15分触发 0 15 […]

龙生   24 Nov 2021
View Details
1 2 48