【发布时间】:2019-04-23 16:04:38
【问题描述】:
我在 Blazor 3.0.0-preview4-19216-03 中有此代码针对客户端应用程序:
namespace BlazorShared.Services
{
public interface ILogin
{
Task<string> Login();
}
public class LoginService : ILogin
{
private HttpClient _client;
public LoginService(HttpClient client)
{
_client = client;
}
public async Task<string> Login()
{
var myclient = new HttpClient();
var responseMessage = await myclient.GetAsync("http://www.google.es");
var content = await responseMessage.Content.ReadAsStringAsync();
Debug.WriteLine(content);
return content;
}
}
}
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ILogin, LoginService>();
}
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent<App>("app");
}
}
还有这个 HTML
@functions {
public async Task Submit()
{
var str = await LoginService.Login(null, null, null);
Console.WriteLine(str);
}
}
完整的 Razor 文件:https://pastebin.com/3LbQQvk0
我已经对其进行了测试,但网络请求永远不会完成,我无法在客户端中显示服务响应。我已经尝试在instructions 之后在 chrome 中进行调试,我看到正在调用服务方法,但没有调用服务的构造函数,据我所知,Blazor 应该注入 HttpClient。任何想法会发生什么?谢谢。
【问题讨论】:
-
您的帖子中没有包含
@inject行。添加它以使我们放心。 -
我已将完整的 Razor 代码上传到:pastebin.com/3LbQQvk0
标签: c# asp.net-core blazor