Windows 2008 IIS7部署WebAPI的坑

只要用Windows 2008 32位系统,你总会遇到这个坑。先说一下解决办法吧:

1、Application Pool 应用程序池只能用经典模式,至于为什么不能用集成模式,微软是这么说的:http://www.asp.net/mvc/overview/older-versions-1/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs

2、Handler Mapping添加一个映射WebApi(名字随便起):* 指向到C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,为啥呢,因为默认的StaticFile已经把*的解析接管了。

至此,WebApi作为后端业务,前端Winform、WebForm、MVC还有手机端都已经实战过了,的确很方便。

特别对于Winform的,不用担心直连数据库时,因为网络不稳定,一次客户操作多次数据库操作时的数据丢失、不完整、丢失等问题了。

MAC系统下用Boot Camp安装Windows的注意事项

千万别用itellyou.cn下载的Windows7/10系统安装盘ISO文件,因为会出现报错,拷贝 Windows 文件时出错或驱动问题什么的。

因为这个问题,我下载了数个ISO都不行。但实际上根本不是这个驱动问题,而已安装盘问题。

老老实实从官网推荐的链接:https://www.microsoft.com/en-us/software-download/windows10 下载就对了!

我下的是Windows10.CN.1809,折腾了几天,终于把MBP利用起来了。

不过因为分辨率太高,使用时还得手动设置一下分辨率和屏幕放大设置。

启用IIS Express SSL(Https)的注意事项

2年前搞国外的信用卡支付对接,必须用SSL方式调用第三方支付公司的接口,本地调试需要启用IIS Express的SSl,最近又搞类似需要SSL的项目,忘记怎么设置的了,本以为直接将原来的http后面加个s,居然不行。费了点时间找到原因:IIS Express 的 SSL 的端口默认是从 44300 开始的。可以自己修改最后两位。

微软序列化时出现k_BackingField怎么处理

当你用微软自带的System.Runtime.Serialization序列化类时,如果出现了json字段中有k_BackingField前缀,请不要见外,因为你没有设置好DataContract和DataMember属性,如果你想继续使用[Serializable],你也可以通过设置Global.asax进行全局设置。

在Application_Start()中加入下面一行代码: GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver { IgnoreSerializableAttribute = true };

#0004:旺财云库存管理系统硬件篇

随着移动终端的普及化,信息的采集和输出变得越来越容易唾手可得。

上一篇中介绍了旺财云库存管理系统的基本功能和定价体系,时隔一个多月,忙着种子用户的一些上线支持,还有软件著作权等。这一篇来介绍一下,想要用起来、用得好软件,还需要哪些必要的硬件支持。

1、智能手机或PDA
目前有安卓端的App,可以提供资料查询、库存查询、代客下单等操作,其实用不到专业的PDA,有个比较新款的1000元以上的安卓手机即可。

2、扫描枪
正常情况下,不需要扫描二维码的,就买个一维的扫描枪足够了,有线的就行,也有WiFi的,需要注意使用距离和信号。

没什么花头,淘宝上一搜一大堆,百元之内

3、标签打印机及标签纸
这个根据行业,普通的标签用热敏打印机就行了,如果是珠宝黄金这种需要打印到银标签,需要碳带的,就必须专业的标签打印机,推荐斑马的。

小巧桌面级、不需要耗材,直接购买热敏标签纸即可

推荐热敏打印机:佳博(Gprinter)GP1324D电子面单条码标签打印机热敏 快递单打印机不干胶二维码,不到400元,京东购买链接:https://item.jd.com/10572982722.html

企业级,工业级,不仅可以打印热敏的,还能热转印

推荐专业打印机:斑马(ZEBRA) ZT210/230 工业级标签机条码打印机 二维码不干胶打印机 ZT210(203dpi无屏 标配),4000元左右,京东购买链接:https://item.jd.com/10117924614.html

各种主流尺寸直接选择,价格低廉,每张1分钱

目前系统默认的标签尺寸有:40*30mm、50*30mm、100*60mm,请购买时参考。

标签购买参考链接:

1、https://item.jd.com/16047939605.html
2、https://item.jd.com/10033808873.html

4、针式打印机及多联单据打印纸
打印机很普通的针式打印机就够了。
打印纸就是常规的多联单,尺寸都是241mm宽度。

淘宝一搜一大堆,价格从500到1800不等,都好用
可根据需要选择整张,半张或三分之一张
一般客户一联、仓库一联、财务留存一联就够了。 根据自己业务需要购买。

购买的话,京东的链接供参考:https://item.jd.com/11880739745.html

规模小的企业,只要投入1500到2000元的硬件,
软件方面,每个账户每天一块钱,每年365元,只需要极少的初期资金投入,就可以拥有一套强大的信息系统支持了。

局域网快速传文件还是Dukto好用

试了飞鸽传书,也试了飞秋,都不满意,不可否认他们功能很多:聊天、群组、共享文件,但我就需要局域网的两台电脑快速传文件,要解决的痛点是:快速。至于其它的跨系统从Mac到Windows,其实本来一个网段就能直连;苹果手机或平板、安卓手机到PC互传其实也不是刚需。我需要的是快速,最好支持断点续传。

没想到试到第三个:Dukto,我的痛点就帮我解决了。

剩下我也不啰嗦了,官方下载地址:http://www.msec.it/blog/?page_id=11

C#访问SOAP Web Service时500报错后的返回信息获取

调试Infor ERP LN Web Service的时候,你会发现如果调用不成功,返回的Http Header是500,但用SoupUI还是能看到结果返回,是不是很诡异。

因为这个东西,曾浪费了好几天,换了多种方式调用Web Service:引用、静态、动态、HTTP Post都试了。最后用Fiddle监控本地服务,然后开SoupUI代理,获取到下图。

这就造成了当使用HttpWebRequest访问时,不成功就会出现System.Net.WebException: ‘The remote server returned an error: (500) Internal Server Error.’报错(如下图),获取不到结果了。

怎么办呢,这里只能通过获取异常,然后将异常的相应结果返回。

用下面的代码就不论500错误是否发生,都能获取到Web Service返回值的源代码。

            //500 error but get the message
            HttpWebResponse res;
            try
            {
                res = (HttpWebResponse)webRequest.GetResponse();
            }
            catch (WebException ex)
            {
                res = (HttpWebResponse)ex.Response;
            }
            StreamReader sr = new StreamReader(res.GetResponseStream() ?? throw new InvalidOperationException(), Encoding.UTF8);
            var result = sr.ReadToEnd();

H5 WebApp禁止Webform页面回发

前一阵写一个H5的WebApp,用得老技术Webform,然后找人封装一下,优化一下WebView等,主要是实现运行于安卓系统的PDA能很方便的查询库存、进行库存的收发操作。

其中有一个扫码查询,允许用户手动输入,针对input textbox做了onchange事件,但是提交就会出现一个页面自动回发的问题。

用了比较原始的方式:

1、先给页面的表单设置DefaultButton(这里设置的是btnSubmit)。作用是:回车时会以该按钮被点击来提交表单进行回发。

<form id="form1" runat="server" defaultbutton="btnSubmit">

2、为btnSubmit设置Enabled=”False”。作用是:回车后发现btnSubmit不能使用,所以这次提交也就不能成功了

3、如果不想看到这个btnSubmit,就加上样式style=” display:none”进行隐

好了看一下截图吧: