Exemple #1
0
        /// <summary>
        /// Запуск диалога обмена сообщениями.
        /// </summary>
        /// <param name="fromService"></param>
        /// <param name="toService"></param>
        /// <param name="contractName"></param>
        /// <param name="lifetime"></param>
        /// <param name="withEncryption"></param>
        /// <param name="relatedConversationHandle"></param>
        /// <param name="relatedConversationGroupID"></param>
        /// <returns></returns>
        public async Task <Guid> BeginDialogConversation(SqlConnection dbconnection, string fromService, string toService, string contractName,
                                                         TimeSpan lifetime, bool withEncryption, Guid?relatedConversationHandle, Guid?relatedConversationGroupID)
        {
            Debug("Executing method BeginDialogConversation(fromService, toService, contractName, lifetime, withEncryption, relatedConversationID, relatedConversationGroupID)");
            try
            {
                Guid?conversationHandle = await _manager.BeginDialogConversation(dbconnection, fromService, toService, contractName,
                                                                                 lifetime == TimeSpan.Zero?(int?)null : (int)lifetime.TotalSeconds,
                                                                                 withEncryption, relatedConversationHandle, relatedConversationGroupID);

                return(conversationHandle.Value);
            }
            catch (SqlException ex)
            {
                DBWrapperExceptionsHelper.ThrowError(ex, ServiceBrokerResources.BeginDialogConversationErrMsg, _logger);
            }
            catch (Exception ex)
            {
                _logger.LogError(ErrorHelper.GetFullMessage(ex));
                throw new PPSException(ServiceBrokerResources.BeginDialogConversationErrMsg, ex);
            }
            return(Guid.Empty);
        }