随笔分类 -  .Net

错误:80040154 没有注册类 的问题
摘要:这其实是个COM组件未注册的问题,虽然以前处理过,不过那是在明确知道哪些COM组件需要注册的情况下,当你不知道或者不熟悉或者忘记的时候,可以尝试用这种方法去解决。 问题发生在一次业务系统从旧服务器迁移到新服务器的过程中,系统中有和其它厂家做的一个登录验证交互接口,接口的年份有一些历史了,里面有... 阅读全文
posted @ 2015-04-18 16:09 牦牛 阅读(131535) 评论(3) 推荐(4) 编辑
访问IIS网站需要输入用户名密码(非匿名登录)问题汇总
摘要:无语了,最近不少Windows服务器都出现这个访问网站需要输入的问题,而且每次解决方法还不一样。。。唉,先汇总下解决方法吧,有时间再仔细研究下这些问题是如何导致的。 当IIS已启用"允许匿名访问"的情况下,仍出现这个问题,可以尝试:1、查看本地安全策略中,IIS中站点的默认匿名访问帐号或者其所... 阅读全文
posted @ 2014-07-06 13:00 牦牛 阅读(8922) 评论(0) 推荐(0) 编辑
IE10、IE11 User-Agent 导致的 ASP.Net 网站无法写入Cookie 问题
摘要:你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6、7、8、9下都跑的好好的,唯独到了IE10、11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次。那么,我们就来看看,这个问题的前因后果。 先说下这2次的使用场景,一次是在某页面中,先存Cookie... 阅读全文
posted @ 2014-06-27 08:35 牦牛 阅读(20536) 评论(46) 推荐(78) 编辑
Windows下Git服务器搭建及使用过程中的一些问题
摘要:最近发现团队的代码版本管理比较混乱,甚至是根本就没有版本管理的意识,一个项目的源码有时候找个2、3次才找到正确的版本。以前我对这块没做什么特别的要求,只要是大家自己用的顺手,VSS、SVN、TFS都无所谓。考虑到离线工作和以后的非微软开发环境,于是打算用Git来规范统一团队内的版本管理。说到Git,其实GitHub是不错的选择,只不过我们的源码和开发文档与运营商的不少系统都有或多或少的关联,将其放置于互联网上的风险度还是比较高的;基于此,我还是选择搭建自己的Git服务器,将代码、文档、版本信息等存放在自己的内网服务器上,那是最好不过的了。 我们的内网Web服务器基本都是Windows S... 阅读全文
posted @ 2013-04-02 01:11 牦牛 阅读(11442) 评论(8) 推荐(4) 编辑
IIS故障问题(Connections_Refused)分析及处理
摘要:这篇文章其实已经写好很久,只是后来一直没有重现当时的问题,或者因为业务的重要性、投诉的压力也就临时处理了。这几天某地市Web服务器连续多次出现这个问题,正好借这个案例来做个收尾。前几个月有台重要的Web服务器(Windows Server2003 + IIS6.0)出现客户端无法访问Web服务器上的站点,错误信息提示为"页面无法显示"的情况。登录服务器检查后发现IIS并未停止运行,各服务也正常处理,但就是无法访问站点上的页面(包括静态页面)。这种问题其实以前也经常发生,基本上处理方法都是通过重启Web服务器来解决,至于为什么要这样处理,并没有具体的论断和依据,多半是凭借个人 阅读全文
posted @ 2012-12-24 12:28 牦牛 阅读(17162) 评论(38) 推荐(44) 编辑
C#中分布式事务的超时处理问题
摘要:事务是个很精妙的存在,我们在数据层、服务层、业务逻辑层等多处地方都会使用到。 在这里我只说下TransactionScope这个微软推荐使用的隐式事务。它是从Framework 2.0开始引入的一个事务管理类,在使用隐式事务时,事务完成前 程序应调用TransactionScope的Complete()方法,将事务提交,然后利用Dispose()释放事务对象。若执行期间出现错误,事务将自动回滚。 比如: using (ransactionScope scope = new TransactionScope()) { //to do something scope.Complete(); }在. 阅读全文
posted @ 2012-09-05 10:33 牦牛 阅读(6214) 评论(4) 推荐(5) 编辑
IIS 7.5 配置伪静态
摘要:之前在IIS 6.0 配置过伪静态:httpHandler实现.Net无后缀名Web访问。现在服务器硬件升级了,操作系统也升级成了Windows Server 2008,好吧。我们也来设置下IIS 7.5的伪静态: 1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式; 2)部署好站点,并将此站点的应用程序池设置为nettest; 3)选中站点,切换到功能试图,找到 "服务器组件"-> "处理程序映射",双击之后,在打开窗口右侧的操作栏目下做如下设置: 4)&quo 阅读全文
posted @ 2012-01-09 16:43 牦牛 阅读(7650) 评论(1) 推荐(0) 编辑
httpHandler实现.Net无后缀名Web访问
摘要:首先在Web.Config中添加HttpHandler定义:再定义HttpHandler逻辑:publicclass wtSSOCheck:IHttpHandler{publicvoidProcessRequest(HttpContextcontext){stringa=context.Request.QueryString["reqstr"];context.Response.Write(a);}publicboolIsReusable{get{returnfalse;}}}事例中是通过Get请求获取参数,来实现某Http重定向。最后,部署所在的服务器上的IIS还需要做下 阅读全文
posted @ 2011-10-21 17:40 牦牛 阅读(1950) 评论(4) 推荐(0) 编辑
ISAG短信上下行的纠结(二)
摘要:好吧!接着上一篇。通过业务人员了解到,我们的这个业务确实是需要先用户主动订购,才能下发SMS。好吧!我订购! 这个时候就需要ISMP了。 这个订购是运营商主动下发给我们的,需要我们提供一个接口来接受Post过来的报文,并回传(直接原路返回): Response.ClearContent(); Response.ContentType="text/xml"; Response.Write("ok"); Response.End(); 返回的XML报文省略!就这样订购就没问题。 接下来的上下行也就没什么大问题了。 阅读全文
posted @ 2011-07-08 13:03 牦牛 阅读(645) 评论(0) 推荐(0) 编辑
ISAG短信上下行的纠结
摘要:最近做电信的ISAG短信通道,真心伤不起。各种问题层出不穷。电信提供了几个WSDL文件,引用之后是可以调用相关函数,但关键的是只有发送包体(SOAPBODY)的函数,没有包头(SOAPHEADER)的函数,这样不仅发送的报文不完整,而且因为没有包头的一些配置信息, 比如一些业务信息、产品信息等,结果就是根本无法成功提交。实在没法,只能抛弃这些现有的函数,自己组合XML来像目标地址发送报文。。。spId时间戳密钥产品IDtel:+8618900000000tel:+8618900000000falsetel:+861890000000010658888描述01短信内容http://test:.. 阅读全文
posted @ 2011-06-29 16:24 牦牛 阅读(1494) 评论(1) 推荐(0) 编辑
还在使用Application_Start做定时器的,你们伤不起!
摘要:之前需要做一些定时程序时,经常在Global.asax文件的Application_Start中,写这些定时任务,比如定时扫描然后进行逻辑处理等。后来发现这个Application_Start非常蛋疼,因为当该网站木有人访问超过20分钟(IIS默认的超时时间),应用程序池就会调用Application_End方法回收HttpApplication对象资源,从而导致定时器无法正常工作了。所以知道了失效原因所在,处理起来就很好办了,我们可以把定时任务的时间设置成小于20分钟;或者干脆放弃Global.asax,用Windows服务来代替,个人感觉这种方法处理起来更可靠更稳定。具体可参考:Wind. 阅读全文
posted @ 2011-06-10 11:05 牦牛 阅读(1843) 评论(4) 推荐(0) 编辑
Windows服务摘要
摘要:之前做一些需要定时处理的程序时,有放置在Global.asax文件的Application_Start方法中去处理。但最近发现这种写法非常不可靠。于是转为Windows服务来处理。 一、Windows服务项目建立 在Service1.cs的OnStart()和OnStop()方法中添加启动、关闭定时控制代码 protectedoverridevoidOnStart(string[]args){intdealtime=Int32.Parse(ConfigurationManager.AppSettings["TimerValue"].Trim());//单位小时timer1= 阅读全文
posted @ 2011-05-23 18:26 牦牛 阅读(983) 评论(5) 推荐(1) 编辑
The length of the string exceeds the value set on the maxJsonLength property
摘要:今天无意中发现当选择某个国家&城市联动时,遇到Ajax返回数据之后无法填充City的问题,查看HttpWatch,原来是:The length of the string exceeds the value set on the maxJsonLength property,也就是返回的Json数据的长度超过了默认的102400!因为DB的数据都是从原C/S系统导过来,冗余数据太多[CityName一样,CityCode不一样]导致某国家下面的城市数高达2000+,所以返回的时候才出现上面问题.只需在Web.config中修改maxJsonLength即可 阅读全文
posted @ 2009-10-14 18:08 牦牛 阅读(1234) 评论(0) 推荐(0) 编辑