2013-09-24 4 views
0

링크를 클릭 할 때 .docx, .doc, .pdf와 같은 파일을 열 수있는 웹 서비스를 사용할 수 있는지 알아야합니다.App_Data 폴더에서 문서를 여는 웹 서비스

내 시나리오. 이름, 주소, ... 의견과 같은 특정 사용자 세부 정보를 수집하는 양식이 있습니다. 또한 이력서, 프로젝트 보고서 등과 같은 하나 또는 두 개의 파일을 업로드하십시오.

양식 유효성이 검사되면이 정보는 데이터베이스에 저장되며 전자 메일은 양식 세부 정보가 포함 된 [email protected] 이메일 주소로 전송되므로 관리자는 항상 이메일로 정보를 신속하게 수신합니다.

업로드 된 문서를 이메일로 첨부 파일로 보내거나 관련 문서를 열 수있는 코드를 작성해야합니다.

웹 서비스가 필요한지 잘 모르겠습니다.

가장 좋은 방법은 무엇입니까?

MY 웹 사이트는 asp.net을 기반으로합니다. 기음#.

+0

첨부 파일로 문서를 보내는 것이 타당한 것처럼 보입니다. 너 무슨 짓을 한거야? – nvoigt

답변

1

이 경우 웹 서비스가 필요하지 않습니다.

정상적인 System.Net.Mail을 사용하여 첨부 파일로 파일을 선택할 수있는 백엔드 루틴 (비즈니스 로직 계층)에 메일러 코드를 위임하기 만하면됩니다. smtp.Send 대신 smtp.SendAsync을 사용하면 웹 양식을 차단하지 않게됩니다. 백엔드 루틴은 WCF와 같은 서비스 일 수도 있습니다. 또는 별도의 .dll. 레이어 구성 방법에 따라 다릅니다.

그러나 메일러 코드가 다른 계층이나 계층 대신 코드 숨김 자체에있는 경우 SendAsync은 까다로워 질 수 있습니다.

  1. 가 그것에게 async 페이지 확인하기 위해 페이지의 async 지시문을 사용 : 그럼 당신은 몇 가지 옵션이있다. 또는,
  2. 스폰 일, System.Threading.ThreadPool.QueueUserWorkItem .... 같은 것을 할 수있는 스레드 ...

다른 해결 방법뿐만 아니라이 있습니다이 링크에 언급 된 같은 : http://blog.jdconley.com/2009/01/fire-and-forget-email-webservices-and.html

나는 것 당신이 당신을 쉽게 할 수있는 비즈니스 로직 계층에 작업을 위임하는 것이 좋습니다.

물론 오버 헤드가 많지 않은 경우 항상 smtp.Send을 사용하여 동 기적으로 작업 할 수 있습니다.

관련 문제