我遇到了与WCF服务和Web API相关的问题,但有以下步骤。
我可以像这样在WCF解决方案中托管Web API吗?我没有找到任何配置或注册Web API的地方,因此如果我运行此项目,Web API将无法正常运行 代码用于托管web api
public class Service1 : IService1
{
public Service1()
{
var config = new HttpSelfHostConfiguration("http://localhost:8080");
config.Routes.MapHttpRoute(
"API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
using (HttpSelfHostServer server = new HttpSelfHostServer(config))
{
server.OpenAsync().Wait();
Console.WriteLine("Press Enter to quit.");
Console.ReadLine();
}
}

答案 0 :(得分:1)
不,您无法将Web API控制器添加到WCF服务项目中并期望它能够正常工作。 WCF和WebAPI在对BCL的依赖性方面几乎没有重叠。
我认为Prashant在他的评论中,在他辩称时非常雄辩:
为什么要这样做?
您可以在同一解决方案中同时托管WebAPI 项目和WCF服务项目,但即使您可以这样做,您还希望这样做吗?
如果要通过SOAP和REST公开相同的端点,则只能使用WCF执行此操作。