1

我即将在 ASP.NET MVC5 中开始一个新项目,它也有一些 Web API。我还需要一个调用 API 的 Windows 窗体客户端。这个客户端有一个文件系统观察器,它检测文件何时被更改,并将内容发布到 API。

当 API 接收到数据时,它会进行一些计算,理想情况下会通过 SignalR 将结果发送到浏览器并更新显示。

我在尝试进行身份验证时遇到了困难。我想使用个人用户帐户,因此用户可以使用 Windows 窗体客户端登录(并获取令牌)并在浏览器中查看数据。

我已经到了 File -> New -> Project,并尝试了一个选中了 Web API 框的 MVC 项目,以及一个选中了 MVC 框的 Web API。查看AccountController它们生成的两个类,它们似乎完全不同。

我想选项是

  1. 尝试让这两个控制器一起工作
  2. 从 Windows 窗体客户端调用 MVC 控制器
  3. 在解决方案中有两个项目,并尝试弄清楚如何使用 SignalR 在它们之间进行对话。
  4. 更好的方法?

我怀疑是最后一个。我以前没有使用过 Web API,所以我可能做错了。我应该采取什么方法?

4

1 回答 1

1

我想说,创建 2 个不同的项目,1 个用于 MVC,1 个用于 API。使用两个都引用的 1 个 BLL,并承载它们的逻辑,并且不会处理单独的控制器。

当然,如果您需要其他层,如 DataAccess 或 Repository,您必须创建一次,它们将在 BLL 中被引用,随后在 MVC 和 API 接口中引用。

于 2013-11-14T23:38:39.983 回答