第一个ServiceStack服务框架
最近刚接触ServiceStack,就尝试着写了第一个服务框架,难免出错,还望同道们多多指正。
关于ServiceStack相关的概念不在做详细的叙述,网上研究此领域的大神们比比皆是。
ServiceStack的官网地址为:
https://github.com/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; }
七、运行程序,启动服务,在浏览器中进行测试
以上只是最基本的配置,需要学习的还有很多。