首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器构造函数在nanoFramework Webserver示例中不被调用,尽管路由在工作。

控制器构造函数在nanoFramework Webserver示例中不被调用,尽管路由在工作。
EN

Stack Overflow用户
提问于 2022-06-18 03:45:19
回答 1查看 139关注 0票数 1

我正在使用.NET nanoFramework和示例作为一个基本项目,以创建一个REST,从ESP32读取和服务传感器数据。

代码语言:javascript
复制
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,但构造函数不被调用,依赖项也没有像我预期的那样被注入。

代码语言:javascript
复制
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,如果有另一个解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-19 22:40:35

看来你遇到了两个不同的问题。从你上面的代码来看,根本原因并不明显.要知道,正在为nanoFramework提供一个官方的DI库。

在此之前,您最好在DI库的github上提出一个问题。

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

https://stackoverflow.com/questions/72666530

复制
相关文章

相似问题

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