本帖最后由 dengkeyu 于 2011-07-14 11:04:52 编辑

解决方案 »

  1.   

    既然是wcf,那么就可以直接传输DataTable的,因为DataTable是可以序列化的,如果你觉得DataTable有点庞大,可以自己组装成List<T>来传输,也是可以序列化的,至于如何序列化,不需要你操心,这是wcf底层负责的。
     此消息通过 【CSDN论坛 Winform测试版】 回复!
      

  2.   

    webservce
    WCF
    socket(remoting,udp,tcp,https,webclient....)
      

  3.   

    4的 时候是怎么写的?
    其实4整明白了5就不是问题了,wcf调用的是一个方法(和webservice一样),可以拥有自定义的返回值(如果是类或者其数组需要标明可序列化)
      

  4.   


    TCP使用方便没?稳定性和速度方面怎么样?
      

  5.   


    呵呵,WCF 还没搞明白,你来了这么多,我都不知道选那个了?
    我的需求就是: winform 客户端 + 互联网数据库,根据这个需要,给我推荐一种方式...
      

  6.   


    嗯,能传输DataTable 更好,能否写几句代码供我参考研究?呵呵,因为我刚学C#,很多都还没整明白呢.
      

  7.   


        [ServiceKnownType(typeof(DBNull))]
        [ServiceContract]
        public interface IServer
        {
            [OperationContract]
            DataTable ExecuteDataTable(string sqltext, Dictionary<string, object> parameters, CommandType ctyp, string dbname, List<string> oracleCursors);        [OperationContract]
            Dictionary<string, OutputParameter> ExecuteNonQuery(string sqltext, Dictionary<string, object> in_parameters, Dictionary<string, OutputParameter> out_parameters, CommandType ctyp, string dbname);
        }    [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, IncludeExceptionDetailInFaults = true)]
        public class Server : IServer
        {
            public DataTable ExecuteDataTable(string sqltext, Dictionary<string, object> parameters, CommandType ctyp, string dbname, List<string> oracleCursors)
            {
                return DBManager.ExecuteDataTable(sqltext, parameters, ctyp, dbname, oracleCursors);
            }        public Dictionary<string, OutputParameter> ExecuteNonQuery(string sqltext, Dictionary<string, object> in_parameters, Dictionary<string, OutputParameter> out_parameters, CommandType ctyp, string dbname)
            {
                return DBManager.ExecuteNonQuery(sqltext, in_parameters, out_parameters, ctyp, dbname);
            }
        }
    实际使用还需要添加登录验证,否则容易被非法执行SQL语句。
     此消息通过 【CSDN论坛 Winform测试版】 回复!