今天客户说系统发不出来邮件,可是我是测试过才发的版本呀!
所以我想是不是发布的时候有问题,然后我发布了一个挂到IIS上,结果发现真发不出来。
然后我找呀找,因为我的邮件是带附件的,所以我去看附件有没有生成,进而发现附件(.xls文件)都没有。
我就很纳闷了,为什么在VS上运行没问题,在IIS上就不行呢,所以我就在发邮件的那段代码上加了个catch
然后把捕捉到得catch写到ini文件上,然后再发布看结果。
结果问题出来了:System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
上网一查是aspnet(XP)权限的问题,在2003系统里是network service.
解决方法:<