Asp.net web api localhost在Webapi操作中拒绝连接

Asp.net web api localhost在Webapi操作中拒绝连接,asp.net-web-api,visual-studio-2015,localhost,windows-10,firewall,Asp.net Web Api,Visual Studio 2015,Localhost,Windows 10,Firewall,我已经创建了WebApi项目并包含示例获取方法。 当我试图从Firefox/Chrome浏览器中使用url()访问get方法时,我收到以下消息:- 无法访问此网站 本地主机拒绝连接。 错误连接被拒绝 当我创建ASP.NET web应用程序并尝试在浏览器中使用localhost查看aspx页面时,它会显示页面 当我尝试使用Visual Studio运行WebAPI时,它会在Google Chrome中打开url(),出现HTTP错误403.14-禁止错误 我正在Visual Studio 2015

我已经创建了WebApi项目并包含示例获取方法。 当我试图从Firefox/Chrome浏览器中使用url()访问get方法时,我收到以下消息:-

无法访问此网站 本地主机拒绝连接。 错误连接被拒绝

当我创建ASP.NET web应用程序并尝试在浏览器中使用localhost查看aspx页面时,它会显示页面

当我尝试使用Visual Studio运行WebAPI时,它会在Google Chrome中打开url(),出现HTTP错误403.14-禁止错误

我正在Visual Studio 2015社区中使用IIS Express。操作系统是Windows10

我曾尝试关闭防火墙并从hosts.config文件中删除#,但从未奏效

在过去的2-3天里,我一直在关注同一个问题,现在我没有方向了,我能做些什么吗

请在下面找到我的代码:-

Global.asax.cs

 public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
    }
public class VideoController : ApiController
    {
        public IEnumerable<string> Get()
        {
            return new string[]{ "Value1", "Value2"};
        }
}
public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
           // config.EnableCors();
            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
VideoController.cs

 public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
    }
public class VideoController : ApiController
    {
        public IEnumerable<string> Get()
        {
            return new string[]{ "Value1", "Value2"};
        }
}
public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
           // config.EnableCors();
            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

最后,我能够在localhost中运行WebAPI

我已经选中了控制面板->打开或关闭Windows功能->互联网信息服务->万维网服务->应用程序开发功能|通用HTTP功能|安全性中的所有选项

当我从VisualStudio2015调试Web API应用程序时,选中所有此选项允许我从get请求获取响应。但当我停止在VisualStudio中调试应用程序时,GET请求的响应也会下降。我发现当我停止在VisualStudio中调试时,IIS express也停止了。 在阅读了几篇文章之后,我知道我必须从WebAPI项目->属性->Web->启用编辑并继续中取消选中“启用编辑并继续”选项

但是,即使我根本没有启动Visual Studio,我也必须使用GET response,所以我最终在IIS中部署了我的站点。

对于我来说,在重新启动PC后出现了“localhost拒绝连接”的问题

解决我的问题的方法是在项目属性页中点击按钮“创建虚拟目录”


webapi项目->属性->Web->“创建虚拟目录”

您还可以关闭Visual Studio,删除.vs文件夹(可能隐藏),然后重新编译应用程序。这对我很有用。

你能用示例Get方法展示你的Web API控制器吗?对于初学者来说,你应该用Fiddler或PostMan等测试API端点。不是浏览器,但是不需要任何参数的Get会将JSON转储到Chrome的屏幕上。您需要共享一些代码,以便我们能够帮助您。我已根据要求添加了代码。我使用了fiddler,它在Get方法上给出了以下异常:-“无法建立连接,因为目标机器主动拒绝它”