2011-12-04 2 views
2

전자 메일을 주기적으로 보내야하는 Windows 서비스가 있습니다.MVC가 아닌 프로젝트에서 MvcMailer 사용

Windows 서비스 프로젝트 다음으로 MvcMailer (아름답게)와 함께 전자 메일을 보내는 MVC 3 프로젝트가 있습니다.

동일한 엔진을 사용하여 Windows 서비스 용 전자 메일을 보내려고합니다.

어떻게해야합니까?

MVC 바이너리를 가져 와서이 목적을 위해 하나의 컨트롤러와 새 뷰를 만드시겠습니까? 작동할까요?

데이터베이스에 저장하고 웹 프로젝트에 전자 메일을 보내도록 요청하면 정보가 쿼리의 결과이고 요청에서 전송하기에 너무 크기 때문에 최상의 솔루션이 아닐 수도 있습니다.

내가보기에 유일한 다른 옵션은 웹 프로젝트에 모든 작업을 수행하도록 요청하는 것입니다.하지만이 방법을 사용하면 사이트 서비스 리소스를 저장하기 위해 다른 서비스에 Windows 서비스를 배치하는 것이 도움이되지 않습니다. 어떻게 할 수 있습니까?

답변

0

서비스에서 mvc 메일러를 호출하는 것이 과도 할 수 있다고 주장합니다. mvc 프로젝트가 다른 모든 솔루션에 대한 전자 메일 API 보내기를 공개해야하는 경우 REST API를 작성하는 것이 좋습니다. 그러나 Windows 서비스에 작업 메서드의 기능을 가져 오려면 In-Process 기능 구성 요소를 선택해야합니다. mvcmailer 액션 메소드의 로직을 다른 어셈블리로 리펙토링 할 수 있다면 왜 그렇게하지 말고 assemlby를 윈도우 서비스 솔루션의 depedency로 포함시켜야합니다. 메일러의 모든 목적과 웹 시나리오에서 사용되는 방법을 제공 할 수 있다면 더 나은 아키텍처를 제공하는 데 도움이 될 수 있습니다.

0

왜 mvcmailer에게 보낼 쿼리가 너무 크다고 생각하십니까? mailer MVC 프로젝트가 편안한 URL을 통해 이미 작동하고 노출되어 있다면, 이것이 귀하의 이메일 서비스가되어 귀하의 서비스에서 웹 요청으로 간단히 호출 할 수 있습니다.

요청 사항에 크기 제한이있을 수 있습니다. 문제가 될 수 없습니다.

+0

이 적용됩니다. –

+2

확실한 경우 smtp 서버도 마찬가지입니다. –

4

MVC 메일 대신 ActionMailer.NET을 MVC 외부에서 독립 실행 형으로 사용할 수 있습니다.

세부 사항은 편안한 URL이 제대로 확보되지 않은 경우 또한 정말 좋은 스팸 게이트웨이를 만드는 여기

http://geeksharp.com/2011/07/06/actionmailer-0-6-released/

관련 문제