C#
文章平均质量分 58
peachesTao
一天一点点,时刻保持紧迫感!
展开
-
记一次编译转码程序遇到的坑
大家好,我是peachesTao,今天给大家分享一下工作中遇到的一个C#转码工具的编译问题及解决过程。背景老师每次上课,都会准备ppt课件,上课前会将课件上传到上课app,上传后调用转码程序转码,将ppt课件转成html格式,之前这个转码程序设置的最大可支持的ppt文件大小是25M,很多老师反映他们有些课件超过25M,希望能支持更大的课件上传。经过内部讨论决定,将上限提高到30M。写这个转码工具的人已经离职了,我的一个同事尝试着修改代码,发布到测试环境发现无法转码,他之前没写过C#,只是凭借其原创 2021-08-28 22:33:38 · 485 阅读 · 0 评论 -
vs 2012 使用IIS Express 64位调试
配置VS2012使用IIS 64位进行开发调试 在实际项目中,我们很多时候会引用64位的dll文件,调试时会直接报错,那是因为vs2012默认的development server或者是IIS express是32位的版本(可以在任务管理器中的进程来查看启用的iis express是什么版本)。这样子对于我们开发来说很不方便,需要配置好IIS后对其附加到进程,但是在进程刚转载 2017-05-15 22:13:58 · 3244 阅读 · 0 评论 -
WinCE 能用的Json格式转换库
一、微软为开发者提供了Json.Net(Newtonsoft.Json.Net.dll)库,可以方便的将对象序列化为json字符串,也可以将json字符串反序列化为对象。测试得出在wince不能正常此库,会报如下错误:二、Newtonsoft.Json.Compact.dll库就是专门为Windows 移动设备准备的,也适用于Wince,但请注意只有Json.NET 3原创 2017-03-15 13:05:05 · 2777 阅读 · 0 评论 -
WinCE WebRequest 在写入请求数据前,不能检索此请求的响应
测试环境:wince 6.0 .Net Compact FrameWorkC# 客户端访问Http接口一般使用System.Net.WebRequest类实现,以下为关键代码: Encoding encoding = Encoding.GetEncoding("utf-8"); string res=string.Empty;原创 2017-03-15 10:42:09 · 2182 阅读 · 5 评论 -
获取用户基本信息subscribe_time单位问题
微信公众号开发,获取用户基本信息可通过以下api获取:http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN返回数据:{ "subscribe": 1, "openid": "o6_bmjrPTlm6_2sgV原创 2017-03-21 09:48:21 · 4862 阅读 · 1 评论 -
IIs6如何让html文件经过asp.net管道处理
近期做了一个后台管理网站,后台页面都是Html页面,里面再通过ajax访问后台服务。要做到比较好的用户体验,即:如果用户没有登录或没有权限马上调到登录页面,而不是等到页面加载后再ajax时判断是否登录或权限再做跳转(这样给用户体验不好)。该如果实现呢?首先想到的是自定义httpModule,拦截html请求,做权限认证。本地调试没有问题,发布到IIS6后发现包含html文件再内的所有的静态原创 2016-12-11 22:57:26 · 3037 阅读 · 0 评论 -
关于.NET编译的目标平台(AnyCPU,x86,x64)
转载于:关于.NET编译的目标平台(AnyCPU,x86,x64)) 1.关于.NET编译的目标平台(AnyCPU,x86,x64)(转)今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有DLL工程的目标平台全部指定成AnyCPU 。 下面我们一起看看这个目标平台有什么作用,各选项有什么差别吧。在Visual转载 2016-06-23 17:58:39 · 6605 阅读 · 1 评论 -
C#常见算法面试
转载于:C#常见算法面试一、求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m //方法一,通过顺序规律写程序,同时也知道flag标志位的重要性。 static int F1(int m) { int sum =0; bool flag =true; for (int转载 2016-06-16 18:50:51 · 11694 阅读 · 2 评论 -
C# 如何扩展方法
我们在使用.net或第三方类库时,根据业务需要需增加一个函数类处理,但又不想在其他类中调用只想在原有类中调用,又不能直接修改源码,该如何实现呢?这时我们可以用扩展方法实现。这里我们以在System.String中增加一个将字符串转换为Int32输入的函数为例来讲解如何定义和使用扩展方法1、自定义一个静态类,类名任意,此处为StringExtandpublic static class原创 2015-07-06 15:11:16 · 2467 阅读 · 0 评论 -
Windows服务安装异常:System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security
Windows服务安装异常:System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security处理方法:以管理员身份运行vs,然后打开项目,再执行InstallService程序安装服务。转载 2017-08-24 22:38:24 · 4446 阅读 · 0 评论 -
vs2012 怎样解决 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包的问题
今天更新win10后用vs2012打开项目总是报这个错误,在网上找到解决方法1、问题描述:未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。此问题可能是由配置更改或安装另一个扩展导致的。可以通过查看文件“C:\Users\用户名\AppData\Roaming\Microsoft\VisualStudio\11....转载 2018-03-18 15:56:42 · 1211 阅读 · 0 评论 -
DataGridView绑定DataTable出现大红叉
窗口名称:BoxItemRelationQuery一、用新线程的方法打开窗口 private void btnBoxItemRelationSelect_Click(object sender, EventArgs e) { Thread td = new Thread(new ThreadStart(BoxItemRelationQuery)); ...原创 2018-05-14 16:25:58 · 5259 阅读 · 0 评论 -
Log4net 乱码问题解决
Log4net 乱码问题解决转载于:https://blog.csdn.net/weixin_34270606/article/details/85743810在将log4net输出到UdpAppender会出现乱码问题,当然,丢到第三方日志分析工具glaylog下,也出现中文乱码。<?xml version="1.0"?><configuration> ...转载 2019-07-09 13:50:09 · 4713 阅读 · 1 评论 -
C# NPOI大数据量导出多个sheet的Excel
NPOI早期版本导出Excel版本是2003 excel,一个sheet最多存储65536条记录,超过报错,后期版本可以导出2007 excel,但为了兼容2003,一般我们选择导出2003 excel。解决办法是将数据分多个sheet导出,以下为核心代码。我这里用的是NPOI_1.2.4.0,大家可以去网上下载。 using NPOI.SS.UserModel; ...原创 2019-06-12 09:57:27 · 4545 阅读 · 0 评论 -
log4net.LogManager.GetLogger卡死无响应
问题:c# 使用log4net记录日志时获取logger时程序一直卡在这个地方,不往后面运行。public static ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);解决方案:弄了很久是因为<log4net></log4net>配置...原创 2019-06-19 14:45:28 · 3243 阅读 · 0 评论 -
没有 RunInstallerAttribute.Yes 的公共安装程序
问题:安装window服务时报“没有 RunInstallerAttribute.Yes 的公共安装程序”的错解决方案:1、打开服务设计界面,右键选择“添加安装程序”2、选中serviceProcessInstaller1->右键属性->Account选择LocalSystem3、重新生成项目...原创 2019-06-19 10:00:23 · 7927 阅读 · 0 评论 -
远程服务器返回了意外响应: (400) Bad Request
问题:cs客户端调用c# webservce时报“远程服务器返回了意外响应: (400) Bad Request”错,错误跟踪信息如下:Server stack trace: 在 System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request...原创 2019-05-31 13:05:10 · 4877 阅读 · 0 评论 -
C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密
FTPS,亦或是FTPES, 是FTP协议的一种扩展,用于对TLS和SSL协议的支持。本文讲述了如何从一个基于FTPS的Server中下载数据的实例。 任何地方,如有纰漏,欢迎诸位道友指教。 话不多,上码。 using System; using System.Net; using System.IO; using System.Net.Security; ...转载 2018-12-29 13:49:58 · 3517 阅读 · 4 评论 -
C# ftp 上传文件名中包含#号导致上传文件名缺失解决方案
问题:ftp 上传文件名中如果包含#号会导致上传到服务器上的文件名缺失? 解决方案:将文件名用 HttpUtility.UrlEncode(‘文件名’)后正常,需要引用System.Web命名空间 /// <summary> /// 拼接URL /// </summary> /// <para...原创 2018-12-13 15:11:16 · 1459 阅读 · 0 评论 -
未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
iis 部署 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序 C#读取Excel文件时,发布到win7-64的IIS之后报错“未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序”。原因是VS调试时模拟的是32位,发布后的IIS是64位。解决方式如下:1.已安装的情况下:Framework启用32位应用程序设置成True...转载 2018-11-14 11:31:07 · 6935 阅读 · 3 评论 -
asp.net 自定义组合控件必须继承INamingContainer接口原因分析
本人也是接触控件开发不就,说的不对的地方欢迎指正。分两种情况来分析:1、页面存在多个自定义控件我们都知道INamingContainer接口功能就是为每一个控件生成唯一的Id,防止页面上存在多个自定义控件时控件Id重复造成的混乱。想必这种情况大家都很好理解2、页面只存在一个自定义控件当自定义控件没有继承INamingContainer接口时,会导致其子控件的原创 2015-05-06 13:11:05 · 2142 阅读 · 0 评论 -
页面ViewState体积庞大影响性能解决方案
我们都知道asp.net 服务器控件状态都是通过ViewState对象存储的,实际上是存储在客户端页面上的隐藏域中,当数据量过大时频繁和服务器传输,严重影响性能。直接想到的办法就是把这些数据储存到别的介子中。 这里介绍两中存储方法,存储到数据库和物理文件中。首先,我们要找到ViewState存储和恢复的入口函数。Page类中LoadPageStateFromPersistenceMedi原创 2015-05-07 17:15:35 · 1623 阅读 · 0 评论 -
详解.NET异步
详解.NET异步 在说到异步前,先来理一下几个容易混淆的概念,并行、多线程、异步。 并行,一般指并行计算,是说同一时刻有多条指令同时被执行,这些指令可能执行于同一CPU的多核上,或者多个CPU上,或者多个物理主机甚至多个网络中。 多线程,一般指同一进程中多个线程(包含其数据结构、上下文与代码片段)协作运行。在多核计算机中多个线程将有机会同时运行于多个核上,如果线程中进转载 2015-11-10 18:14:32 · 3410 阅读 · 0 评论 -
C# 定义泛型方法
泛型方法比一般方法代码重用性高且简洁,因为传入参数是动态的,使用时传入类型即可。下面为定义泛型方法例子:public T GetInfo(string s) where T:Test,new() { T l=new T(); return l; }其中where子句为可选约束语句,T:后面的Test为指原创 2015-07-06 14:29:33 · 3838 阅读 · 1 评论 -
C# 中的委托和事件(通俗易懂)
C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的转载 2015-07-09 13:10:59 · 843 阅读 · 0 评论 -
C# 自定义泛型
我们经常使用系统自带的List来操作集合对象,那么我们如何根据业务需求灵活制定自己的泛型对象呢?一、定义要存储的数据类型Person类public class Person { public string Name { get; set; } public strin原创 2015-07-01 14:22:07 · 1192 阅读 · 0 评论 -
深入理解C#的装箱和拆箱
深入理解C#的装箱和拆箱装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1. 装箱在值类型向引用类型转换时发生2. 拆箱在引用类型向值类型转换时发生光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了。我们先看装箱时都会发生什么事情,下面是一行最简单的装箱代码object obj = 1;这行语句将整型常量1赋给object转载 2015-07-01 12:53:32 · 1164 阅读 · 0 评论 -
C# 浅谈泛型存在的意义
传统集合操作在没有泛型之前我们用AyyList对集合操作,它能容纳任何类型的数据,但最终都要转换为Object对象存储,如果传入的数据为值类型,则需要将值类型转换为引用类型装箱操作。(关于装箱和拆箱概念可以看我上一篇转载的文章)特点:1、频繁进行装箱和拆箱操作2、执行是才能发现存储的数据类型是否正确泛型储存特定的数据类型,在编译阶段检查数据类型正确性。当前存入的数据原创 2015-07-01 12:59:18 · 3365 阅读 · 0 评论 -
ASP.net 2.0 中 WebResource.axd 管理资源的一些知识点
ASP.net 2.0 中 WebResource.axd 管理资源的一些知识点在 ASP.net 2.0 构建的Web页面中,查看源文件,我们经常会看到下面的Html文本 这是 ASP.net 2.0 提供的新的资源管理方式产生的脚本。新的资源管理方式如何使用,你可以参看以下几篇博客:使用ASP.NET 2.0提供的WebResource管理资源 http转载 2015-04-21 10:20:13 · 621 阅读 · 0 评论 -
在C#中主线程和子线程如何实现互相传递数据
在C#中主线程和子线程如何实现互相传递数据 转载于:老帅 在C#中创建线程Thread时,可以有多种方法,而主线程和子线程之间又如何实现互相传递数据,每种创建方法传递参数的效果是不同的,逐一看一下: 一、不带参数创建Thread 1234567转载 2016-03-03 16:34:57 · 4700 阅读 · 0 评论 -
C#中out和ref之间的区别
C#中out和ref之间的区别首先:两者都是按地址传递的,使用后都将改变原来参数的数值。其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,ref是有进有出,out是只出不进。ref(C#参考)ref 关键字使参数按引用传递。其转载 2016-03-17 14:44:19 · 334 阅读 · 0 评论 -
Asp.Net Server.Execute、Server.Transfer报“执行子请求时出错”解决方案
我们一般会自定义自己的HttpHandler来处理一些特殊的业务,往往需要在方法ProcessRequest中调用其他的实现IHttpHandler的Page页或ashx一般处理文件并获取响应结果继续往下执行后面的代码,那么我们会用Server.Execute("path")来实现,但运行时会报“为 ...执行子请求时出错。”那该如何解决呢?我们可以通过.net 提供的方法:BuildMana原创 2015-06-02 13:59:17 · 7877 阅读 · 1 评论 -
C# invoke和beginInvoke
UI线程以外的线程不能直接更新UI界面,那如何在工作线程中更新UI界面呢?invoke和beginInvoke的出现是为了解决跨线程更新UI显示的问题,invoke是同步的执行,而beginInvoke是异步执行的,不会阻塞后面的代码,但如果使用了endInvoke监听的话同样会阻塞后面代码,此时的作用相当于invoke。此处以一个10秒走表例子来说明问题一原创 2015-11-18 09:58:45 · 893 阅读 · 1 评论 -
c#子线程执行完怎么通知主线程
c#子线程执行完怎么通知主线程定义一个委托实现回调函数public delegate void CallBackDelegate(string message);程序开始的时候//把回调的方法给委托变量CallBackDelegate cbd = CallBack;//启动线程转载 2016-03-01 15:48:28 · 5313 阅读 · 2 评论 -
NLog邮件通知,让系统管理员工作更主动和高效
当系统出现问题时,系统管理员无法及时知道,往往由系统使用者告知,然后去服务器查看错误日志,这种传统的维护方法即耗时效率又低,且无法第一时间发现错误并修正,造成用户体验下降。能不能实现系统出现问题时能第一时间以邮件的形式通知系统管理员,让管理员的维护工作将变得主动和高效呢?今天介绍的NLog的邮件发送功能会很好的解决这一问题。NLog如何安装请参加我转载的文章NLog日志管理工具--入门实例原创 2016-04-07 14:07:06 · 3402 阅读 · 0 评论 -
C# winForm webBrowser页面中js调用winForm类方法
有时我们在winform项目总嵌入了网页,想通过html页面调用后台方法,如何实现呢?其实很简单,主要有三部:1、在被调用方法类上加上[ComVisible(true)]标签即可,意思就是当前类可以com组件的形式供外包调用2、在webBrowser控件中设置可被html页面调用的类即:webBrowser1.ObjectForScripting = this;前端即可通过wind原创 2015-11-11 16:15:39 · 10791 阅读 · 2 评论 -
C# 获取mp3文件的歌曲时间长度
C# 获取mp3文件的歌曲时间长度添加命名空间: using Shell32; using System.Text.RegularExpressions;添加引用:COM组件的Microsoft Shell Controls And Automationstring dirName = Path.GetDirectoryName(SongPath);转载 2016-03-02 19:13:29 · 6134 阅读 · 0 评论 -
C# 之泛型详解
--转载于C# 之泛型详解什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有转载 2016-05-11 18:23:48 · 1967 阅读 · 1 评论 -
NLog日志管理工具--入门实例
NLog日志管理工具——将日志输出到文件夹中 转载于:http://blog.csdn.net/jun502525164/article/details/403522531、通过VS建立一个控制台应用程序。2、打开程序包管理器控制台。具体操作如下:【工具】》【库程序包管理器】》【程序包管理器控制台】。3、在程序包管理器控制台下输入命令:Install-转载 2016-04-07 12:16:53 · 1530 阅读 · 0 评论 -
ASP.NET ViewState详解
作者:Infinities Loop概述ViewState是一个被误解很深的动物了。我希望通过此文章来澄清人们对ViewState的一些错误认识。为了达到这个目的,我决定从头到尾详细的描述一下整个ViewState的工作机制,其中我会同时用一些例子说明我文章中的观点,结论。比如我会用静态控件(declared controls)和动态控件(dynamic controls)两个方面转载 2014-12-18 16:44:00 · 701 阅读 · 0 评论