跟踪下载/上传传输(大小)

时间:2015-05-29 14:24:07

标签: c# wcf

我有一个WCF服务(C#),它有大约10个方法5用于获取数据(.NET数据集)和5个用于更新数据(.Net Dataset)。

方法示例:

// getting data from Method    
public DataSet GetEmployeeContractInfo(Guid uid)
            {

                DataSet ds = null;
                Database db = InfoTacto.Framework.WebServices.Common.GetDatabase();

                using (DbCommand cmd1 = db.GetStoredProcCommand("sp_employee_contractinfo_get"))
                {

                    db.AddInParameter(cmd1, "employeeuid", DbType.Guid, uid);
                    ds = db.ExecuteDataSet(cmd1);
                }

                if (ds.Tables.Count > 0)
                {
                    ds.Tables[0].TableName = "contract_info";
                }
                return ds;

            }

/// <summary>
        /// 
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public bool UpdateEmployeeContractInfo(DataSet ds)
        {
            bool returnVal = true;

            Database db = Common.GetDatabase();
            DbConnection conn = db.CreateConnection();
            conn.Open();
            DbTransaction trans = conn.BeginTransaction();

            try
            {
                if (ds != null && (
                    (ds.Tables.Contains("contract_info") && ds.Tables["contract_info"].Rows.Count > 0)
                    )
                    )
                {
                    foreach (DataRow dr in ds.Tables["contract_info"].Rows)
                    {
                        if (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Added)
                        {
                            using (DbCommand cmd1 = db.GetStoredProcCommand("sp_employee_contractinfo_change"))
                            {

                                db.AddInParameter(cmd1, "employeeuid", DbType.Guid, dr["employeeuid"]);

//... all other parameters

                                db.ExecuteNonQuery(cmd1,trans);
                            }
                        }

                    }

                }
                trans.Commit();
            }
            catch
            {
                trans.Rollback();
                returnVal = false;
            }
            finally
            {
                // Cleanup
                conn.Close();
            }


            return returnVal;
        }

我的20位用户将通过 celular 调制解调器使用 WIFI ,因为他们位于无法访问传统WIFI的位置,因此我需要跟踪带宽是多少使用我的WCF服务来获取数据和通过方法上传数据,这样如果我有这些信息我真的可以知道他们是否消耗了WCF Service跟踪的带宽,然后他们正在查看视频等。人力资源部门可以采取行动。

有任何线索吗?在将dataset发送到客户端之前,我正在考虑检查每个dataset对象的大小,然后将该值存储到数据库表中,并在从客户端接收数据集时也这样做。

0 个答案:

没有答案