Вы можете использовать Программная навигация . Чтобы вернуться назад, вы можете использовать это:
router.go(n)
Где n может быть положительным или отрицательным назад). Это то же самое, что history.back (). Таким образом, вы можете использовать свой элемент следующим образом:
back
Я столкнулся с той же проблемой загрузки ЦП с описанными настройками. В итоге я открыл заявку в Microsoft, чтобы определить причину проблемы. Проблема использования ЦП заключается в классе ServicePoint. Внутри класса ServicePoint есть таймер, который запускается каждые (MaxIdleTime / 2) миллисекунды. Видите проблему? Если изменить значение MaxIdleTime на 2, загрузка ЦП упадет до нормального уровня.
Хотя у меня пока не было особых проблем с System.Net.Mail
, вы всегда можете использовать старую System.Web.Mail
] API, который является оболочкой для CDOSYS.
Я всегда без проблем использовал компоненты Quiksoft EasyMail .NET.
Домашняя страница продукта: http://www.quiksoft.com/emdotnet/
У них также есть бесплатная версия компонента, если вам нужно только отправлять электронные письма:
Раньше я пользовался Quicksoft и не жалуюсь. Еще одна вещь, которую вы можете попробовать, - это переключить конфигурацию SMTP на использование папки для пересылки вместо отправки по сети, что должно обойти проблему «он не отправляет QUIT».
Большую часть почты я отправляю с помощью Sproc. Я даже могу прикрепить файл.
CREATE PROCEDURE [dbo].[sendMail_With_CDOMessage] @to VARCHAR(64), @CC VARCHAR(1024)='', @BCC VARCHAR(1024)='', @subject VARCHAR(500)='', @body VARCHAR(8000)='' , @from VARCHAR(64), @filename VARCHAR(255)='', @priority INT = 0 AS BEGIN SET NOCOUNT ON DECLARE @handle INT, @return INT, @s VARCHAR(64), @sc VARCHAR(1024), @up CHAR(27), @server VARCHAR(255) SET @s = '"http://schemas.microsoft.com/cdo/configuration/' SELECT @s = 'Configuration.Fields(' + @s, @up = 'Configuration.Fields.Update', @server = 'smtp.yourdomain.com' EXEC @return = sp_OACreate 'CDO.Message', @handle OUT SET @sc = @s + 'sendusing").Value' EXEC @return = sp_OASetProperty @handle, @sc, '2' SET @sc = @s + 'smtpserver").Value' EXEC @return = sp_OASetProperty @handle, @sc, @server EXEC @return = sp_OAMethod @handle, @up, NULL EXEC @return = sp_OASetProperty @handle, 'To', @to EXEC @return = sp_OASetProperty @handle, 'CC', @CC EXEC @return = sp_OASetProperty @handle, 'BCC', @BCC EXEC @return = sp_OASetProperty @handle, 'From', @from EXEC @return = sp_OASetProperty @handle, 'Subject', @subject EXEC @return = sp_OASetProperty @handle, 'HTMLBody', @body EXEC @return = sp_OASetProperty @handle, 'Priority', 'cdoHigh' IF @filename IS NOT NULL EXEC @return = sp_OAMethod @handle, 'AddAttachment', NULL, @filename EXEC @return = sp_OAMethod @handle, 'Send', NULL IF @return 0 BEGIN PRINT 'Mail failed.' IF @from IS NULL PRINT 'From address undefined.' ELSE PRINT 'Check that server is valid.' END ELSE PRINT 'Mail sent.' EXEC @return = sp_OADestroy @handle END