У меня есть веб-сайт asp.net 4.0, и я использую элемент управления PasswordRecovery для формы забытого пароля.Когда я запускаю сайт локально, он работает нормально, письма отправляются.Однако, когда я запускаю сайт с моего vps, я получаю сообщение об ошибке при попытке отправить электронное письмо.В журнале событий сервера ничего нет.
Мой aspx-код PasswordRecovery выглядит следующим образом:
<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 Profiler для экземпляра SQL Server Express, и получается, что исключение выдается из SQL Server при вызове dbo.aspnet_Membership_GetUserByName
.Существует проблема преобразования типов, поскольку PasswordRecovery передает параметр DateTime
с 7 десятичными разрядами в течение нескольких секунд.Если я вручную выполню хранимую процедуру с 3 десятичными разрядами, то сработает.Кто-нибудь знает, почему точность параметра DateTime
на моем сервере отличается от точности на моем ноутбуке?