我有一个 asp.net 4.0 网站,我正在使用 PasswordRecovery 控件来获取忘记密码的表单。当我在本地运行该站点时,它工作正常,发送电子邮件。但是,当我从我的 vps 运行该站点时,我在尝试发送电子邮件时收到一条错误消息。服务器的事件日志中没有任何内容。
我的 PasswordRecovery aspx 代码如下:
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server"
CssClass="mediumText">
<MailDefinition From="noreply@x.com" BodyFileName="~/EmailTemplates/PasswordRecovery.txt" />
我的 web.config 邮件设置如下:
<system.net>
<mailSettings>
<smtp from="noreply@x.com">
<network host="smtp.123-reg.co.uk" password="x" userName="x" />
</smtp>
</mailSettings>
</system.net>
我现在已经针对 SQL Server Express 实例运行 SQL Profiler,结果发现 SQL Server 在调用dbo.aspnet_Membership_GetUserByName
. 存在类型转换问题,因为 PasswordRecovery 传递的DateTime
参数包含 7 个小数位的秒数。如果我手动执行小数点后 3 位的存储过程,那么它可以工作。有谁知道为什么DateTime
我的服务器上的参数精度与笔记本电脑上的不同?