首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net核心StateLess系列--在蓝色服务织物中调用StateLess服务

Asp.Net核心StateLess系列--在蓝色服务织物中调用StateLess服务
EN

Stack Overflow用户
提问于 2018-04-05 17:08:05
回答 1查看 265关注 0票数 0

我试图从Asp.Net核心无状态API调用无状态服务。我无法达到无状态服务中的方法。

这是Controller方法,它将调用无状态服务方法。

代码语言:javascript
复制
 // GET api/values
    [HttpGet]
    public async Task<string> GetAsync()
    {
        var repository = ServiceProxy.Create<IRepository>(
            new Uri("fabric:/Application1/Stateless1"));
        return await repository.GetSomething();
        //return new string[] { "value1", "value2" };
    }

这是无状态服务中的方法。

代码语言:javascript
复制
    internal sealed class Stateless1 : StatelessService, IRepository
    {
    public Stateless1(StatelessServiceContext context)
        : base(context)
    { }

    public async Task<string> GetSomething()
    {
        return await Task.FromResult("HELLO FROM SERVICE!");
    } 
    }

侦听器代码是

代码语言:javascript
复制
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
    {
        return this.CreateServiceInstanceListeners();
    }

我能够命中控制器Get方法,但它在repository.GetSomething()方法中被击中,并且无法达到该方法。我不知道我在这里错过了什么。

任何指点都会很有帮助。提前感谢

更新:

舱单档案:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 04:15:02

你需要改变你的CreateServiceInstanceListeners..。

代码语言:javascript
复制
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
   return this.CreateServiceRemotingInstanceListeners();  
}

它需要远程侦听器,因为使用ServiceProxy是一个远程调用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49677869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档