HelloWordExcutor.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. namespace JLHHJSvr.Excutor
  8. {
  9. internal sealed class HelloWordExcutor : ExcutorBase<HelloWordRequest, HelloWordResponse>
  10. {
  11. protected override void ExcuteInternal(HelloWordRequest request, object state, HelloWordResponse rslt)
  12. {
  13. var md5 = new MD5();
  14. var strmd5 = md5.GetMD5(request.FileData);
  15. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  16. using (var cmd = con.CreateCommand())
  17. {
  18. con.Open();
  19. using (cmd.Transaction = con.BeginTransaction())
  20. {
  21. try
  22. {
  23. cmd.CommandText = "DELETE FROM cd_files WHERE md5 = @md5";
  24. cmd.Parameters.Clear();
  25. cmd.Parameters.AddWithValue("@md5", strmd5);
  26. var nrows = cmd.ExecuteNonQuery();
  27. cmd.CommandText = "INSERT INTO cd_files(md5, filedata) VALUES(@md5, @filedata)";
  28. cmd.Parameters.Clear();
  29. cmd.Parameters.AddWithValue("@md5", strmd5);
  30. cmd.Parameters.AddWithValue("@filedata", request.FileData);
  31. nrows = cmd.ExecuteNonQuery();
  32. cmd.Transaction.Commit();
  33. }
  34. catch (Exception ex)
  35. {
  36. Trace.Write(ex.ToString());
  37. cmd.Transaction.Rollback();
  38. rslt.ErrMsg = ex.ToString();
  39. }
  40. }
  41. }
  42. rslt.RspFile = request.FileData;
  43. }
  44. }
  45. }