因此经过大量研究后,我开始使用webAPI入口点来增强我们的服务服务器堆栈。基于this thread,尤其是Digerati董事会成员的最后一篇文章,我们将WebAPI服务作为WCF应用层的外观实现。 (我们的WCF服务只是进入我们所有行为的应用层的外观)
我的问题是这个。我下载了MVC 4并在我的服务解决方案中创建了一个新的WebAPI项目。但哇,在我的项目中创造了大量废话,我根本不需要!例如,所有图像文件,家庭控制器,视图和模型等。
因此,在将其拆解为服务项目时,构建功能服务项目需要的最小文件是什么?我们的目的是在同一服务器中并排发布两种服务类型(WCF和webAPI)。每个服务调用执行相同的相同服务调用并返回请求的特定DTO。到目前为止,它看起来像App_Start,Controllers和Glabal.asax / web.config条目。我绝对不需要视图,模型或图像!!!
关于其他人为完成纯服务部署所做的工作的任何意见都会受到欢迎。
答案 0 :(得分:18)
这里的问题相同。我发现Shawn Kendrot的 article 解释了如何创建最小的Web API项目。它是为Web API的测试版编写的,但似乎仍然有效。
System.Web.Http
和System.Web.Http.WebHost
(版本4.0.0.0)Global.asax
文件在Global.Application_Start
中注册路线。类似的东西:
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
添加控制器
public class SampleController : ApiController
{
public string Get(int id)
{
return "Hello";
}
}
/api/sample/123
在本地运行项目并享受结果:
答案 1 :(得分:3)
FYI。我发现我不得不再引用两个.dll: