2016-09-25 1 views
0

Outlook 작업을 만들고이를 내 Asp.net MVC 응용 프로그램의 사용자 작업 폴더에 추가해야하며 일부 연구를 통해 사무실 상호 운용성을 사용하고 옵션을 사용할 수 있지만 좋은 선택.
그래서이 목표를 달성하기위한 다른 옵션이 무엇인지 알아야합니까?C# Office interop을 사용하지 않고 Outlook 작업 만들기

+1

아마 [API가 (https://msdn.microsoft.com/en-us/library/office/mt674770.aspx) 얘기를 사용하여 ... # 2를 사용하는 것 직접 교환 하시겠습니까? (결코 그것을 나 자신에게하지 않았다) –

답변

0

더 많은 검색 후 EWS을 사용하기로 결정했습니다. 그래서 여기에 내가 교환 웹 서비스를 사용하여 작업을 생성하기 위해 구현 무엇 :

var exchange = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 
exchange.Credentials = new WebCredentials("username", "password", "domain"); 
exchange.AutodiscoverUrl("[email protected]"); 

// see #1 
// exchange.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, [email protected]"); 

var task = new Task(exchange); 
task.Subject = "foo"; 
task.Body = new MessageBody("bar"); 
task.Status = TaskStatus.InProgress; 
task.StartDate = PurchaseOrder.OrderDate; 
task.DueDate = PurchaseOrder.DeliverDate; 
task.Save(); 

// see #2 
// task.Save(new FolderId(WellKnownFolderName.Tasks, "[email protected]")); 

this article에 따라 당신은 서비스로 구성되어 교환 사용자의 작업 폴더에서 작업을 저장할 수 있습니다.

# 1 : 가장 할 권한
또는
# 2가하지 않는 :
대상 사용자 위임 작업 당신에게. 내 경우에는
나는

1

Microsoft는 현재 무인 비 대화 형 클라이언트 응용 프로그램 또는 구성 요소 (ASP, ASP.NET, DCOM 및 NT 서비스 포함)에서 Microsoft Office 응용 프로그램 자동화를 권장하지 않으며 Office가 이 환경에서 Office를 실행하면 불안정한 동작 및/또는 교착 상태가 발생할 수 있습니다.

서버 측 컨텍스트에서 실행되는 솔루션을 빌드하는 경우 무인 실행에 안전하도록 만들어진 구성 요소를 사용해야합니다. 또는 코드의 일부 이상을 클라이언트 측에서 실행할 수있는 대체 방법을 찾아야합니다. 서버 측 솔루션에서 Office 응용 프로그램을 사용하는 경우 응용 프로그램에는 성공적으로 실행하는 데 필요한 많은 기능이 부족합니다. 또한 전체 솔루션의 안정성에 위험을 감수해야합니다. 이에 대한 자세한 내용은 Office 문서의 Considerations for server-side Automation을 참조하십시오.

해결 방법 Outlook을 기반으로하는 저수준 API (확장 MAPI 또는 Redemption과 같은 해당 API를 둘러싼 다른 래퍼)를 사용하는 것이 좋습니다.

Exchange 사서함 만 처리하는 경우 EWS 사용을 고려할 수 있습니다. 자세한 내용은 EWS Managed API, EWS, and web services in Exchange을 참조하십시오.