服务声明

优质
小牛编辑
126浏览
2023-12-01

创建服务接口,接口必须继承IService。

注意:在异步编程里,异步转同步调用是非常糟糕的,并且有可能死锁。为了避免这个问题,Uragano不支持同步方法,所有的服务方法必须是异步的。

[ServiceDiscoveryName("RPC")]
[ServiceRoute("hello")]
public interface IHelloService : IService
{
    [ServiceRoute("say")]
    Task<ResultModel> SayHello(string name);
}

服务接口必须加ServiceDiscoveryName属性,用于声明服务注册与发现的名字。

ServiceRoute属性是可选的,默认以{命名空间}/{接口名称}/{方法名称}为路由,路由你可以理解成服务的唯一标识,所以路由是不能有重复的,另外路由字符串只允许输入字母,数字,下划线,减号,斜杠。以上示例代码的路由为:hello/say