C#里发现SuperSocket库不能发现命令的原因

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#里发现SuperSocket库不能发现命令的原因相关的知识,希望对你有一定的参考价值。

在使用SuperSocket来写服务器的过程中,这是一个非常快速的开发方式,也非常好用。不过学习的曲线有点高,在使用的过程中经常会遇到各种各样的问题。
比如当下就遇到一个比较奇怪的问题,明明在项目里添加了命令,但是框架发现不了,这样就比较怪异了。

由于SuperSocket是使用反射的机制来查找命令,并且是跨不同的程序集。因此SuperSocket对命令的发现有一定要求,同时要满足下面几个条件:
1、继承CommandBase类。
2、采用public声明。
3、在EXE程序集里,如果不在就需要自行添加到参数里。

app.config配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
  <runtime>
    <gcServer enabled="true"/>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
        

以上是关于C#里发现SuperSocket库不能发现命令的原因的主要内容,如果未能解决你的问题,请参考以下文章

(15) C# 抽取SuperSocket库里的缓冲区类

(12)C# 抽取SuperSocket库里的日志功能

SuperSocket与Netty之实现protobuf协议,包括服务端和客户端

SuperSocket入门- 探索AppServerAppSession,Conmmand和App.config

SuperSocket入门-命令行协议

SupperSocket深入浅出