UserProperty
을 Outlook MailItem
에 추가하면 연결된 다른 Outlook에 동기화되지 않는 문제가 있습니다.VSTO Outlook 사용자 속성 (사용자 지정)이 동기화되지 않았습니다.
Outlook에서 강제로 전체 전자 메일을 동기화하려면 어떻게해야합니까?
내 overal 문제 : 내가 공유 Exchange 사서함있어 (Outlook에서) 두 클라이언트에서 열 나는 그것이 하나의 Outlook에서 열 들어간 경우, 메일 항목을 잠그고 두 번째 Outlook을 보여 드리고자합니다 사용자는 "사용자 XX가 현재이 이메일을 읽고 있습니다."
내 문제 해결 방법 : Outlook 플러그인 만들기. 사용자 "A"가 전자 메일을 열 때 MailItem
개체에 "LockingUser"UserProperty
을 추가하려고합니다. 사용자 "B"가 전자 메일을 열려고하면 "LockingUser"속성이 있는지 먼저 확인합니다. 캐시 된 모드를 비활성화했습니다. 나는 전자 메일의 제목 업데이트하는 것을 시도했다 :이 완벽하게 작동하고 immediatly 동기화됩니다 (하지만 내 문제에 대한 해결책이 아니다)는 MailItem을
private void SetLockingUser(Outlook.MailItem mail)
{
var lockingUserProperty = mail.UserProperties.Find("LockingUser");
if (lockingUserProperty != null)
{
MessageBox.Show("Email locked by: " + lockingUserProperty.Value);
return;
}
var identity = System.Security.Principal.WindowsIdentity.GetCurrent();
var username = identity != null ? identity.Name : "";
lockingUserProperty = mail.UserProperties.Add("LockingUser", Outlook.OlUserPropertyType.olText, false, 1);
lockingUserProperty.Value = username;
mail.Save();
}
고마워요! 내 질문을 업데이 트했습니다 : 캐시되지 모드에서 일하고 있습니다. 메일 제목을 변경하면 즉시 동기화됩니다 (1 ~ 2 초). 다른 정보를 동기화 할 수있는 방법이 필요합니다. – Gerwald
다른 사용자가 동일한 메시지를 코드에서 열거 나 참조하면 Outlook에서 메시지가 완전히 참조 해제되고 다시 열릴 때까지 Outlook에서 변경 내용을 볼 수 없습니다. OutlookSpy에서 다른 사서함의 변경 사항을 볼 수 있습니까 (IMessage 단추 클릭)? –