我有一个Asp.Net WebApi项目。我创建了一个类库,并在其中添加了控制器和模型。
项目结构在另一个StackOverflow question中解释。
问题:
现在我需要调试类库中的控制器。 最简单的方法是什么?
更新 我的问题是关于在Visual Studio 2015中调试类库。 因为它是一个需要附加到运行WabApi项目的过程的类库。
因此,当我单击VS中的调试按钮时,需要启动WEBAPI进程并自动附加到类库调试会话。
在visual studio项目属性中,有一个调试选项可用于设置“启动外部程序”。如何在此处关联WebApi项目? 或者有其他选择吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
首先,您的WEB API项目应该包含您的控制器,而不是您的类库。
您已经显示的堆栈溢出是一种非常糟糕的做法,因为您的WEB API充当应用程序的入口点(PRESENTATION LAYER)。
你的确可以创建一个图书馆'模型'对于您的域模型,但也应该创建一个用于访问数据库的库,称为数据访问层(DAL)。
如果要为其添加一些业务逻辑,则需要第4个库,称为业务层(BL)。
所以流程应该是这样的:
客户< - >表示层< - >业务层< - >数据访问层< - >数据库中。
PL,BL和DAL可以引用模型库。这整层事物被称为N层架构。
您还应该查看表示层的MVC模式。
现在确定架构已经完成,实际调试/测试控制器非常简单。
第一个选项可能是使用POSTMAN向控制器端点发送数据,只需向控制器添加断点并逐步调试。
第二个选项是使用Swagger,它将为您提供控制器端点的用户友好界面,以及实际向其发送内容的功能。它还将为您提供有关如何构建消息的模板JSON。
关于N Tier和MVC的更多信息
N Tier:https://en.wikipedia.org/wiki/Multitier_architecture
MVC:https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
Swagger教程:https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger
问候!