初学初用asp.net mvc开发,最容易遇到的错误是Internal server error 500,这个错误会让人莫名其妙,摸不着北。就算你在百度各种搜索也难以遇到合适的解决方法,因为同样的错误往往是不同原因导致的。
以我曾经的一次经历为例,讲讲如何正确的解决类似问题。
需求:开发微信小程序,中间要从sql server读取地址信息。
一开始的做法:因后台将有专门人员去写,为了测试我临时在vs2019中用asp.net mvc的方式开发了一个取数接口。在调试的时候非常顺利,马上读取到了数据。然后我发布到本机的IIS可就不行了,总是报internal server error 500这个错误,让人不明所以,错误太抽象了,到底是什么原因导致呀?
解决的办法:为了头简单,一开始并没有将dal、controller层的错误用try...catch的方式捕捉并返回,导致前台看不到错误原因。我在dal层、controller层分别加了try...catch,并将可能返回的数据或错误均封装在一个自定义CommonResult类中,然后JsonConvert.SerializeObject(commonResult)返回,这下发布到iis后终于可以看到错误的具体原因了。
知道了错误原因,就好办了,即使是百度也能够有针对性的查找了,错误显示是登录失败,原来是数据库的连接采用了综合认真登录。
private static string dbcon = "server=192.168.115.195;user=sa;password=123;integrated security=true;database=SHOP;";
把上面的integrated security值改为false, 让连接完全用sa登录就可以了.











网友评论