dll 类库如何使用全局变量

正一的抱抱 2017-11-29 03:27:39
业务场景:
1、记录日志的功能封装成 dll,dll 内部会格式化日志内容,并推送到 MQ;
2、各业务系统(几十个)在需要记录业务日志的地方,调用 dll 里的一个方法,实现日志的异步记录;

在推送到 MQ 时,需要建立 TCP 连接,但是 TCP 连接是非常宝贵、耗时的,官方建议共享连接。
那么问题来了:
1、同一个业务系统内部(相当于同一个进程),在不同的功能点,频繁调用 dll 记录日志,如何共享一个连接?
2、各业务系统之间可以共享吗?如何实现?

注:dll 是 C# 写的。
...全文
295 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
圣殿骑士18 2017-11-29
  • 打赏
  • 举报
回复
这是个设计问题,你应该设计一个服务类,dll请求记录日志时,统一通过这个类向MQ请求。
ourhouzi 2017-11-29
  • 打赏
  • 举报
回复
无非是不同线程 调用同一个变量(连接) Lock一下就好了
xuzuning 2017-11-29
  • 打赏
  • 举报
回复
C# 中存在不隶属于类的全局变量吗?
cheng2005 2017-11-29
  • 打赏
  • 举报
回复
引用
1、记录日志的功能封装成 dll,dll 内部会格式化日志内容,并推送到 MQ;
DLL你自己封装的,至于什么TCP连接当然是封装DLL的人负责管理了。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧