Exemplo n.º 1
0
        private static void Channel_Closed(object sender, EventArgs e)
        {
            ZServerChannel channel = (ZServerChannel)sender;

            channel.Closed -= Channel_Closed;   // 避免重入

            // 中断正在进行的检索
            LibraryChannel library_channel = (LibraryChannel)channel.Tag;

            if (library_channel != null)
            {
                library_channel.Abort();
                LibraryManager.Log?.Info(string.Format("ZServerChannel({0}) Channel_Closed() 引发 LibraryChannel.Abort()", channel.GetHashCode()));
            }

            List <string> names = GetResultSetNameList(channel, true);

            if (names.Count > 0)
            {
                FreeGlobalResultSets(channel, names);
            }
        }
Exemplo n.º 2
0
 // 构造全局结果集名
 static string MakeGlobalResultSetName(ZServerChannel zserver_channel, string strResultSetName)
 {
     return("#" + zserver_channel.GetHashCode() + "_" + strResultSetName);
 }