一个莫名奇妙的错误(本机调试运行无误,发布到服务器就报错)


发布到服务器(windows server2003,asp.net 2.0)后总是报stringtonumber的错误,说是字符串不对,追根溯源找到这个地方
 if (voteCount.Length <= 0 || voteTotal.Length <= 0 || voteTotal.Trim() == "0")
        {
            
return (0);
        }
        
double nVoteTotal = double.Parse(voteTotal);
        
if (nVoteTotal > 0)
        {
            
return (Math.Round((double.Parse(voteCount) * 100 / nVoteTotal), 2));
        }
        
return (0);
可是无论我怎么调试,本机(xpsp2,asp.net2.0)运行这个不会报任何错,而发布到服务器后就会说上面提到的错误。后来我改动下代码
 if (voteCount ==null || voteCount == string.empty)
        
{
            
return (0);
        }

if (voteTotal==null || voteTotal == string.empty)
        
{
            
return (0);
        }

        
double nVoteTotal = double.Parse(voteTotal);//应该是这里在服务器上面出错
        if (nVoteTotal > 0)
        
{
            
return (Math.Round((double.Parse(voteCount) * 100 / nVoteTotal), 2));
        }

        
return (0);

但是没时间来确定是否能解决掉这个错误,请各位老大能否帮忙找找原因并能提供解决办法,不胜感激!

ps:最后终于解决,原来是我bll层里面相关的一个类多次初始化调用另外一个类导致的。简化调用后解决。

原文地址:https://www.cnblogs.com/ocean2000/p/831620.html