Лучше поздно, чем никогда, но может кому поможет.
Я не уверен, возможно ли это для конечной точки приложения, но вы точно можете опубликовать настройки фотографий для конечной точки пользователя (я сделал это, и это работает). Некоторую базовую информацию о публикации можно найти в MSDN: Присутствие публикации.
Публикация информации о присутствии (включая настройки фотографий) выполняется на странице LocalEndpoint.LocalOwnerPresence
. И UserEndpoint
, и ApplicationEndpoint
происходят от LocalEndpoint
, так что на самом деле это должно быть выполнимо.
Фактическая публикация становится немного сложной, потому что существует множество различных комбинаций «уровней» для публикации:
Во-первых, есть несколько значений InstanceID
, о которых вам нужно знать. Ознакомьтесь с ними здесь: Идентификатор источника данных о присутствии и экземпляра категории
Во-вторых, есть значение того, к кому относится это присутствие, см. Microsoft.Rtc.Collaboration.Presence.PresenceRelationshipLevel
. Не публикуйте на Unknown
, вы получите исключение.
public enum PresenceRelationshipLevel
{
Unknown = -1,
Everyone = 0,
External = 100,
Colleagues = 200,
Workgroup = 300,
Personal = 400,
Blocked = 32000,
}
Вам необходимо опубликовать PresenceCategoryWithMetaData
для свойств фотографии пользователя, которая является частью контейнера 0x5
«Информация о присутствии».
var photoPresence = new PresenceCategoryWithMetaData(
0x5, // The container id
(int)PresenceRelationshipLevel.Everyone,
new ContactCard(0x5) // Same container ID again
{
IsAllowedToShowPhoto = true,
PhotoUri = "<uri to your photo here"
});
Вы также можете установить ExpiryPolicy
для этого объекта, на самом деле должно быть понятно. Затем опубликуйте этот объект присутствия на своей конечной точке:
Endpoint.LocalOwnerPresence.BeginPublishPresence(new[] { photoPresence }, cb => {
Endpoint.LocalOwnerPresence.EndPublishPresence(cb);
}, null);
И это должно сделать это, действительно. В итоге я явно опубликовал данные на всех уровнях отношений, потому что это не каскадировало данные, как логически ожидалось. Это превратилось в довольно длинный ответ, также для моего собственного будущего использования. Пожалуйста, дайте мне знать, работает ли это и для конечных точек приложения.
person
Willem
schedule
11.06.2013