使用RpcLite构建SOA/Web服务(Full .Net Framework)
SOA框架系列
1. 使用RpcLite构建SOA/Web服务
2. 使用RpcLite构建SOA/Web服务(Full .Net Framework)
继前一篇文章《使用RpcLite构建SOA/Web服务》已过去好几个月。在这几个月里对RpcLite作了很多修改如:.Net Core的支持、Fluent API方式配置、Monitor、Filter等功能。
前一篇文章介绍了使用RpcLite的基本用法,在文章中介绍的配置方式为配置文件使用起来比较麻烦。本文配置使用Fluent API方式,在.Net Core中可以完全不使用配置文件,在Asp.Net中仅需要添加一个HttpModule。
class="last">Full .Net Framework中现只支持Host到ASP.NET中。
创建服务包括以下步骤:
添加引用有两种方式:直接下载dll然后引用、通过NuGet添加,其中通过NuGet添加简单方便,本文以此方式为例。 通过NuGet添加也有两种方式:图形界面或命令行
命令行
图形界面
在configuration/system.webServer节点下添加 <add name=”RpcLite” type=”RpcLite.Service.RpcHttpModule, RpcLite.NetFx” />
完整配置如下:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <modules> <add name="RpcLite" type="RpcLite.Service.RpcHttpModule, RpcLite.NetFx" /> </modules> </system.webServer> </configuration>
namespace HelloRpcLiteService { public interface IProductService { string GetDateTimeString(); } }
using System; namespace HelloRpcLiteService { public class ProductService : IProductService { public string GetDateTimeString() { return DateTime.Now.ToString(); } } }
using System; using RpcLite.Config; namespace HelloRpcLiteService { public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { RpcInitializer.Initialize(builder => builder .UseService<ProductService>("ProductService", "api/service/") .UseServicePaths("api/") ); } } }
说明
Service Name: ProductService
Actions:
String GetDateTimeString();
通过RpcLite客户端、JavaScript就可以访问这个服务了。
本文代码地址 https://github.com/aolyn/rpclite.docs/tree/master/samples/HelloRpcLite/src/HelloRpcLiteService
QQ群:364617712
欢迎加入
联系方式