Jak*_*sky 7 asp.net-mvc wcf asp.net-web-api
我有一点"奇怪的练习"问题.对我们项目架构的要求是在WCF项目中使用(如果可能)所有MVC优势来设置Web API.这意味着WCF和Web API Web服务将在一个项目中相互站立.
这甚至可行吗?我已经给了它一个简短的发现,发现即使合并两个项目的网络配置也很困难.
感谢您的建议和意见,
的Jakub
我按照以下步骤操作,效果很好:
通过Nuget Package Manager将WebAPI安装到您的项目中
安装包Microsoft.AspNet.WebApi
创建Controller文件夹,并编写您的控制器类和方法。
在Application_Start方法中为您的服务注册路由。
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
"webapi_route",
"/{controller}/{action}/{id}",
new { controller = "controller_name", action = "method_name", id = RouteParameter.Optional }
);
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(service_name)));
}
Run Code Online (Sandbox Code Playgroud)Jak*_*sky -1
这是可能的,但会失去 MVC 的优点(这意味着您将无法使用 Web 服务的内置自动在线文档等)。
只需通过 NuGet 安装 Web API,然后在 global.asax 中注册您的路由。创建你的 api 控制器,一切都应该很好。
编辑 2017 年 2 月 1 日:
这不再是真的。由于微软的方法是合并 MVC 和 Web API 控制器。现在一切皆有可能。
归档时间: |
|
查看次数: |
5651 次 |
最近记录: |