[SCM]ASPx.net开发供应链系统,用来给供应商查询或做一些单据之类的

来源:互联网 发布:sql数组 编辑:程序博客网 时间:2024/04/30 11:08

现在在公司开发一个项目,也接触到了很多新东西,现在主要是用Visual Studio2013环境的ASPx - C#语言开发的,个人比较喜欢C#,简洁明了、效率高。

这个项目用到很多的插件……因为是从另一个系统改的所以。。。这个系列的博客[SCM]开头的都只是将开发中学习到的东西,还有一些实现的方法,以备往后是用,也给大家提供一些帮助(涉及到的一些接口已经加密)



主要用到的第三方插件有:

DevExpress

Dxt

Oracle的插件……


用到的团队代码托管工具是Tortoise SVN


接下来,我将陆陆续续的更新这个项目遇到的问题,截止到今天,我已经用8天的时间完成了1个WebService和4个表的开发工作。马上就是订单管理了,空闲了我会整理这些东西的!

由于时间原因,今天先分享一个我才开始这个项目时遇到的一个小问题,这个问题困扰我好几天……重装了5次系统……记忆犹新,问题真的太小了!

团队其他人的项目跑起来正常,但是我也按照他们的环境部署的开发环境,却遇到了乱码问题——编译正常、浏览器跑的时候,出现了不同的乱码全部是菱形的问号,创建的其他工程跑起来正常的很,在项目中新建项跑起来也是乱码的,设置断点发现根本没有跑到那个位置……问度娘、bing姐,只有一个遇到的问题和我一样,但是人家解决了4个多月都没人回,无奈,使用了一个神器代码段,放在“Global.asax”的异常处理处,发现了这个问题的根源。


下列代码粘贴于这个函数中:

<pre name="code" class="csharp">void Application_Error(object sender, EventArgs e) {                // Code that runs when an unhandled error occurs                // 在出现未处理的错误时运行的代码 }


 Code that runs when an unhandled error occurs                 在出现未处理的错误时运行的代码                 Exception ex = Server.GetLastError().GetBaseException();                Response.Write("<script>alert('" + ex.Message.Replace("'", "\\'").Replace("\r\n", "\\r\\n") + "');</script>");                 //throw new Exception(ex.Message);                StringBuilder str = new StringBuilder();                str.Append("\r\n" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss"));                str.Append("\r\n.客户信息:");                string ip = "";                if (Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR") != null)                {                    ip = Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR").ToString().Trim();                }                else                {                    ip = Request.ServerVariables.Get("Remote_Addr").ToString().Trim();                }                str.Append("\r\n\tIp:" + ip);                str.Append("\r\n\t浏览器:" + Request.Browser.Browser.ToString());                str.Append("\r\n\t浏览器版本:" + Request.Browser.MajorVersion.ToString());                str.Append("\r\n\t操作系统:" + Request.Browser.Platform.ToString());                str.Append("\r\n.错误信息:");                str.Append("\r\n\t页面:" + Request.Url.ToString());                str.Append("\r\n\t错误信息:" + ex.Message);                str.Append("\r\n\t错误源:" + ex.Source);                str.Append("\r\n\t异常方法:" + ex.TargetSite);                str.Append("\r\n\t堆栈信息:" + ex.StackTrace);                str.Append("\r\n--------------------------------------------------------------------------------------------------");                //创建路径                 string upLoadPath = Server.MapPath("~/log/");                if (!System.IO.Directory.Exists(upLoadPath))                {                    System.IO.Directory.CreateDirectory(upLoadPath);                }                //创建文件 写入错误                 System.IO.File.AppendAllText(upLoadPath + DateTime.Now.ToString("yyyy.MM.dd") + ".log", str.ToString(), System.Text.Encoding.UTF8);                //处理完及时清理异常                 Server.ClearError();                //跳转至出错页面                 Response.Redirect("~/error.html"); 


跑起来,发现是个服务没有启用。。。我了去,不知道为什么VisualStudio安装完成后不把这个服务启用。。

具体我们看看是什么服务:

可以看到是ASP.NET 状态服务,这是个神马东东?

“为 ASP.NET 提供进程外会话状态支持。如果此服务被停止,进程外请求将得不到处理。如果此服务被禁用,任何显式依赖它的服务将无法启动。”

好吧,这么重要的一个服务你默认不开启,我也是醉了!真的很难想到是这个服务导致的问题,一般乱码都是字符格式的问题导致的,但……好吧,代码根本没运行过去也说明了这没关系。。。

0 0
原创粉丝点击