使用缓存,把新登录的用户加入到dll的构造函数中

解决方案 »

  1.   


    谢谢,dll是添加引用进去的,怎么加入到构造函数?
    你能说说实现的大体步骤吗,十分感谢!!
      

  2.   

    要看dll怎么实现的。是不是使用了特定的端口。那么你复制两份代码,指定不同的端口就可以同时通讯了。
      

  3.   


    那个dll ,我在项目中引用后,构造实例,他就自动与软件的一个帐号连接,如果软件开了多个登录了多个帐号,dll也只连接一个。
      

  4.   

    比如登陆时,后登陆的用户与先登陆的用户,某些数据被覆盖之类,与dll实现有关
    如果一开始就设计好是不应该出现这种问题的,在同一个软件中,也不应该去复制dll引用
      

  5.   


    谢谢,软件和dll都是别人开发的,我现在可以开多次软件实例,实现登录多个用户。登录上去之后在软件上是可以正常操作数据的。
    dll 是软件提供的api,现在我在c# 引入dll中,发现不管软件登录了多少用户名,但dll只能与最后登录的那个用户名,而别的用户名获取不到。
    所以现在我想有没有什么办法,可以隔壁这几个dll,让每个用户名独立连接一个dll通信?不好意思,问题有点复杂,望请指点下,不知有何办法实现
      

  6.   


    联系供应商给你提供另外一个dll。如果你这个dll的提供商不懂技术,那么可能它给你的dll是有bug的。即使有bug也很难告诉你怎样才能让人家的dll出现你说的这个bug。
      

  7.   

    你应该问提供你dll的厂商,因为这是业务逻辑。人家如果这样设计了业务逻辑,就会用技术方法来实现它。遇到你不理解的软件功能,你应该问供应商“业务逻辑设计是否就是这样?”。不要以为任何软件功能都是开发人员瞎拼凑出来、于是使用者胡乱鼓捣几下就能改变软件功能的。
      

  8.   

    软件商的dll其实就是软件的一个api接口,当在项目中引用了这个dll,当登录软件的时候,我这个引用了dll的工程就能取得软件上的信息。我使用程序多开器打开了软件的多个实例,使用不同的账户登录上去都没问题。但是用他的dll接口时,发现只能识别到一个用户而已。我的意思,既然我已经登录了两个用户,理论上我可以新建两个项目引用dll,但是只能得到一个用户的信息。等待大神指点
      

  9.   

    问下你的dll的供应商,看是不是dll里面做了限制的
      

  10.   

    改下名字,然后分别引用,应该就可以了。比如RRU.dll,拷贝一份,两个dll改为RRUA.dll和RRUB.dll。之前做的一个项目,改成这样就可以了
      

  11.   

    如果你能让软件根据用户名的不同引用不同的dll,那就拷贝一份呗,不行的话只能跟供应商沟通了。
      

  12.   


    这样修改之后 ,但是命名空间还是一样。我试着修改了dll的命名空间,但那无法初始化。
    貌似dll实例化的时候,是直接和程序挂钩通信,所以修改命名空间后不能实例化。
    现在程序本来是只能登录一个账户的,但是我用程序多开器的办法登录了多个账户,都能正常运行。唯独就是使用api的时候,里面只能识别第一个登录的用户。太难了
      

  13.   

    没看懂你的软件到底是怎么个工作流程,比如所谓登陆,是登陆到哪,连外网服务器?
    而DLL究竟起什么作用,不引入DLL也能登陆?还是登陆本身就是通过DLL实现的?如果你根本不了解DLL的工作,谈何改
      

  14.   


    登录软件不需要dll。直接打开软件输入用户名密码就可登录。
    dll的作用给出了一些软件的接口,去实现自己的操作。前提是你必须在软件上登录成功才能使用Dll。
    打个比方,比如你登录qq之后,有个dll的api,允许你利用这个dll中的接口qq去实现收发消息,但是登录qq这个“登录”操作,在dll里没有。也就是说,只有当你电脑登录qq之后,这个dll才能发挥作用。现在我的遇到问题是,我在电脑上可以登录上多个qq帐号,但是发现在dll中,只能获取到最后登录的帐号的信息。
    我想问,有什么办法能够在dll中可以识别到所有的登录账户信息?前面他们回答的拷贝一个dll修改名字,再新建一个工程,我试过了,命名空间一样,还是只能识别最后那个账户而已。
      

  15.   

    所以,你登陆软件和dll根本不在一个程序里.
    而dll只不过是到进程里去找对应的程序
    那你dll改什么名,开几次,也都是同样的功能,除非修改dll里的代码让它能够识别多个进程
      

  16.   


    谢谢,我这个是开多个软件实例,登录多个用户。程序打开一次只能登录一个用户。
    如何使用那个dll来识别多个登录用户,可否介绍一下思路?
    谢谢!
      

  17.   


    对,登录软件和dll不在一个程序里。软件为了让用户可以编程,所以发布了一个dll接口。
    但是实际中我开了多个软件的实例,而且也已经登录了多个用户,但是dll却无法识别多个账户。只能识别最后登录的那个。
      

  18.   


    谢谢,我这个是开多个软件实例,登录多个用户。程序打开一次只能登录一个用户。
    如何使用那个dll来识别多个登录用户,可否介绍一下思路?
    谢谢!用内存映射做共享内存,把所有登录Session放这共享内存里;然后每次登录判断共享内存里这个用户是否已经登录就行了;
      

  19.   


    谢谢,我这个是开多个软件实例,登录多个用户。程序打开一次只能登录一个用户。
    如何使用那个dll来识别多个登录用户,可否介绍一下思路?
    谢谢!用内存映射做共享内存,把所有登录Session放这共享内存里;然后每次登录判断共享内存里这个用户是否已经登录就行了;
    还有登录逻辑如果在远程的话。就可以在远程判断用户登录状态啊。已经登录的用户不让登录不就得了。 
      

  20.   


    是的,软件和dll本身都是软件商提供的。他提供dll的目的是为了让登录的用户可以读取出软件的信息。
    但是,我现在登录2个用户,使用他的dll发现只能里面只能识别到第一个登录的用户。
    这是他们的策略,我是问有没有办法能识别到多个用户?
    比如多建一个工程使得两个dll各自识别一个用户?或者采取别的办法?谢谢!