第一个ServiceStack服务框架

时间:2023-03-08 22:21:56

第一个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=""/> </appSettings>
</configuration>

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

第一个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 == ? "http://*:" + port + "/" : args[];
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;
}

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

第一个ServiceStack服务框架

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