HelloWordExcutor.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using LJLib.Net.SPI.Server;
  2. using LJLib.Tools.Encry;
  3. using System;
  4. using System.Data.SqlClient;
  5. using System.Diagnostics;
  6. using JLHHJSvr.Com;
  7. using LJLib.SQLEX;
  8. namespace JLHHJSvr.Excutor
  9. {
  10. internal sealed class HelloWordExcutor : ExcutorBase<HelloWordRequest, HelloWordResponse>
  11. {
  12. protected override void ExcuteInternal(HelloWordRequest request, object state, HelloWordResponse rslt)
  13. {
  14. var md5 = new MD5();
  15. var strmd5 = md5.GetMD5(request.FileData);
  16. using (var con = GlobalVar.ConnectionString.NewSqlConnection())
  17. using (var cmd = con.CreateCommand())
  18. {
  19. con.Open();
  20. using (cmd.Transaction = con.BeginTransaction())
  21. {
  22. try
  23. {
  24. cmd.CommandText = "DELETE FROM cd_files WHERE md5 = @md5";
  25. cmd.Parameters.Clear();
  26. cmd.Parameters.AddWithValue("@md5", strmd5);
  27. var nrows = cmd.ExecuteNonQuery();
  28. cmd.CommandText = "INSERT INTO cd_files(md5, filedata) VALUES(@md5, @filedata)";
  29. cmd.Parameters.Clear();
  30. cmd.Parameters.AddWithValue("@md5", strmd5);
  31. cmd.Parameters.AddWithValue("@filedata", request.FileData);
  32. nrows = cmd.ExecuteNonQuery();
  33. cmd.Transaction.Commit();
  34. }
  35. catch (Exception ex)
  36. {
  37. Trace.Write(ex.ToString());
  38. cmd.Transaction.Rollback();
  39. rslt.ErrMsg = ex.ToString();
  40. }
  41. }
  42. }
  43. rslt.RspFile = request.FileData;
  44. }
  45. }
  46. }