• 第一个ServiceStack服务框架


    第一个ServiceStack服务框架


    最近刚接触ServiceStack,就尝试着写了第一个服务框架,难免出错,还望同道们多多指正。

    关于ServiceStack相关的概念不在做详细的叙述,网上研究此领域的大神们比比皆是。

    ServiceStack的官网地址为:

    主要的步骤如下:

    一、在VS中新建一个Window窗体程序。

    在默认程序的AppConfig中进行端口的配置

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
    
      <appSettings>
        <!--端口号-->
        <add key="ServerPort" value="8001"/>
        
      </appSettings>
    </configuration>

    二、添加ServiceStack相关的引用库文件

    三、添加APPHost.cs文件,在其中进行配置ServiceStack

     public  class AppHost:AppSelfHostBase
        {
            public AppHost(Assembly[] Assemblys):base("ZBDService", Assemblys)
            {
    
            }
            //配置
            public override void Configure(Container container)
            {
                Plugins.Add(new CorsFeature());
                JsConfig.IncludeNullValues = true;
                SetConfig(new HostConfig
                {
                    DebugMode = true
                });
            }
        }

    四、在默认程序列表中的Program.cs文件中配置ServiceStack的监听。

       
            static void Main(string[] args)
            {
                Assembly[] assembly =
                {
                    Assembly.Load("ZBDServiceApp")
                };
                string port = ConfigurationManager.AppSettings["ServerPort"].ToString();
                var listeningOn = args.Length == 0 ? "http://*:" + port + "/" : args[0];
                var appHost = new AppHost(assembly)
                    .Init()
                    .Start(listeningOn);
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }

    五、新建cs文件用于存储请求路由,和返回值类型

        //定义路由,用于请求
        [Route("/ZBD/Test/{name}",verbs:"GET")]
    
        public class ZBD:IReturn<IList<string>>
        {
            public string name { get; set; }
        }

    六、新建cs文件,用于实现具体的操作,包括后期对数据库的操作等。

     public  class ZBDServer:Service
        {
            public List<string> Get(ZBD request)
            {
                List<string> list = new List<string>();
    
                list.Add(request.name);
                list.Add("第一个服务");
                return list;
            }

    七、运行程序,启动服务,在浏览器中进行测试

    以上只是最基本的配置,需要学习的还有很多。

  • 相关阅读:
    Netty ChannelOption.SO_BACKLOG配置
    ChannelOption.TCP_NODELAY
    如何使用XStream框架编码UTF8?
    NETTY keeplive 参数,心跳检测
    cnpm 无法加载文件 ENode.jsnodeglobalcnpm.ps1,因为在此系统上禁止运行脚本。
    vue框架值props
    vue重要方法解释
    vue系列之组件间数据共享
    限制微信环境中微信修改h5页面字体大小
    from_data参数放在body里 调用接口
  • 原文地址:https://www.cnblogs.com/dongteng/p/7221663.html
Copyright © 2020-2023  润新知