• λ我爱Aspx >> Asp.Net >> 如何解决Remoting无法传输存储过程参数的问题
  • 如何解决Remoting无法传输存储过程参数的问题

  • :aspxer  Դ:internet  :2007-5-15 20:46:05  ؼ:
  • 在项目的开发中使用Remoting,并且所有的数据请求服务都是通过Remoting完成的,所以自然就在其中到了传递参数的存储过程,在业务逻辑中把参数构建好后传递到Remoting服务端,在取出存储过程的参数时报错,具体错误不记得了,自己尝试了各种方法也不行,上网资讯也没有结果,最后变通了一下,问题解决了,例子如下:

    以下部分为客户调用端

    1//先声明参数

    2 private const string PARAM_GUID = "@GUID";

    3 private const string PARAM_VGA_TREEGUID = "@VGATreeGUID";

    4 private const string PARAM_MB_TREEGUID = "@MBTreeGUID";

    5

    6 public static string GetProductTypeByGUID(string GUID, String VGATreeID, String MbTreeID)

    7 {

    8 try

    9 {

    10 int lcID = Thread.CurrentThread.CurrentUICulture.LCID;

    11

    12 BaseModel bt = new BaseModel();

    13

    14 //构建一个哈希表,把参数依次压入

    15 Hashtable parames = new Hashtable();

    16 parames.Add(PARAM_PROGUID, GUID);

    17 parames.Add(PARAM_VGA_TREEGUID, VGATreeID);

    18 parames.Add(PARAM_MB_TREEGUID, MbTreeID);

    19

    20 //把存储过程名称和带参数的哈希表传入

    21 DataAccess.DataBase.RunProcedureDataSet(lcID, "GetProductTypeByTreeID", parames, ref bt);

    22

    23 return bt.Rows[0]["ProductType"].ToString();

    24 }

    25 catch (Exception ex)

    26 {

    27 CommFunction.WriteErrorLogFile("public static string GetProductTypeByGUID(stirng GUID, String VGATreeID, String MbTreeID)出错:" + ex.Message);

    28 return "Other";

    29 }

    30 }

    31

    32

    以下为服务端:

    1public void Query(int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)#region public void Query(int lcid, string SQLString, Hashtable cmdHashtable, ref BaseModel baseModel)

    Ҷƪл˵?
  • һƪMicrosoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
    һƪ.NET Framework中的串行化操作