我正在使用.NET nanoFramework和这示例作为一个基本项目,以创建一个REST,从ESP32读取和服务传感器数据。
using (WebServer server = new WebServer(80, HttpProtocol.Http, new Type[] { typeof(DHTController) }))
{
Debug.WriteLine("Iniciando server...");
var temp = server.Start();
var nis = NetworkInterface.GetAllNetworkInterfaces();
foreach (var ni in nis)
{
Debug.WriteLine("Seu endereço de IP é: " + ni.IPv4Address.ToString());
}
Thread.Sleep(Timeout.Infinite);
}在我决定使用nanoCRL的依赖注入解决方案之前,一切都很好。依赖项注入似乎正常工作,但我注意到构造函数Controller在完成来自postman的请求时不会被调用。路由响应为spected,但构造函数不被调用,依赖项也没有像我预期的那样被注入。
private readonly IDHTService service;
public DHTController(IDHTService service)
{
this.service = service;
}
[Route("dht")]
[Method("GET")]
public void Get(WebServerEventArgs e)
{
try
{
var result = service.GetTemperatura();
e.Context.Response.ContentType = "text/plain";
WebServer.OutPutStream(e.Context.Response, result.ToString());
}
catch (Exception)
{
WebServer.OutputHttpCode(e.Context.Response, HttpStatusCode.BadRequest);
}
}当我从postman调用时,构造函数断点被代码跳过,路由断点被调用。但是,如果没有注入依赖性,这条路线也不能正常工作。
有人能帮我理解代码中发生了什么吗?如果这是预料中的事情,或者是一个错误。并帮助我使用依赖注入与nanoFramework,如果有另一个解决方案。
发布于 2022-06-19 22:40:35
看来你遇到了两个不同的问题。从你上面的代码来看,根本原因并不明显.要知道,正在为nanoFramework提供一个官方的DI库。
在此之前,您最好在DI库的github上提出一个问题。
https://stackoverflow.com/questions/72666530
复制相似问题