我试图从Asp.Net核心无状态API调用无状态服务。我无法达到无状态服务中的方法。
这是Controller方法,它将调用无状态服务方法。
// 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" };
}这是无状态服务中的方法。
internal sealed class Stateless1 : StatelessService, IRepository
{
public Stateless1(StatelessServiceContext context)
: base(context)
{ }
public async Task<string> GetSomething()
{
return await Task.FromResult("HELLO FROM SERVICE!");
}
}侦听器代码是
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
return this.CreateServiceInstanceListeners();
}我能够命中控制器Get方法,但它在repository.GetSomething()方法中被击中,并且无法达到该方法。我不知道我在这里错过了什么。
任何指点都会很有帮助。提前感谢
更新:
舱单档案:

发布于 2018-04-06 04:15:02
你需要改变你的CreateServiceInstanceListeners..。
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
return this.CreateServiceRemotingInstanceListeners();
}它需要远程侦听器,因为使用ServiceProxy是一个远程调用。
https://stackoverflow.com/questions/49677869
复制相似问题