我已经创建了C#Web API,并且能够在本地主机上访问它,但是在服务器部署后,我收到404 not found错误。 邮递员显示错误-“您要查找的资源已被删除,名称已更改或暂时不可用。”
我已经使用Visual Studio发布了代码,然后使用文件浏览器将文件上传到服务器。 服务器上的文件夹被标记为应用程序。 我可以访问该文件夹中存在的示例html文件,但无法访问api本身。
Global.asax.cs具有以下代码-
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
}
}
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Filters.Add(new BasicAuthenticationAttribute());
}
我正在尝试调用普通的get方法
[BasicAuthentication]
[HttpGet]
[Route("api/getmethodapi")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
我正在访问的URI类似于-
https://mysampleapp.com/sampleFolder/api/getmethodapi
我可以使用Postman以及本地主机上的C#控制台应用程序获取值。 任何帮助/建议将不胜感激。