一个解决方案包含两个项目



我的Visual Studio解决方案中有两个项目。一个是空的WEB API应用程序,带有AngularJS和html前端。另一个是WEB API项目,嵌入式数据库,控制器和其他东西。问题是,当我从我的第一个解决方案调用web api控制器时,我得到了404未找到。我怀疑主机存在问题,但我不知道具体是哪种。我尝试在IIS中托管后端项目,但没有结果。也许我错过了什么。

在花了很多时间对此进行调查后,我意识到localhost中的不同端口存在问题,可以在那里找到解决方案:http://jaliyaudagedara.blogspot.com/2014/08/angularjs-consuming-aspnet-web-api.html.

基本上,我应该更改属性中的项目URL,以匹配前端项目的localhost端口,并添加"api"后缀,以避免两个项目使用相同的虚拟目录。

@satish,Global.asax:

namespace WebAPI_Training
{
public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        GlobalConfiguration.Configure(WebApiConfig.Register);            
    }
}
}

WebApiConfig.cs:

 namespace WebAPI_Training
 {
 public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services         
        // Web API routes
        config.MapHttpAttributeRoutes();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
        jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    }
}
}

相关内容

最新更新