Skip to main content
 首页 » 编程设计

c#之WebApi 在 ASP.Net 中不工作

2024年04月17日34lautakyan007

我是Asp.Net新手,在学习过程中尝试开发一个小型的Web API。

WebApiConfig.cs

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

TopicsController.cs

namespace MessageBoard.Controllers 
{ 
    public class TopicsController : ApiController 
    { 
        private IMessageBoardRepository _repo; 
 
        public TopicsController(IMessageBoardRepository repo) 
        { 
            _repo = repo; 
        } 
        public IEnumerable<Topic> Get() 
        { 
 
            var topics = _repo.GetTopics() 
                            .OrderByDescending(t => t.Created) 
                            .Take(25) 
                            .ToList(); 
            return topics; 
        } 
    } 
} 

其实我正在看 PluralSight 教程。

http://localhost:50031/api/v1/topics 

此 Url 在浏览器中无效,在 Fiddler 4 中无效。

添加了所有引用。我也完成了 Build Solution,但它不起作用,并且代码中没有显示错误。

请您参考如下方法:

启用 Web Api 的最后一步看起来像您缺少的是通过将以下代码行添加到 Application_Start() 方法来在 Global.asax 文件中启用 Web API:

WebApiConfig.Register(GlobalConfiguration.Configuration); 

此外,请不要使用 PluralSight 教程中的端口号。您需要从您的 Visual Studio 实例运行 Web 应用程序项目,当它在浏览器中打开时,您将看到分配给哪个端口 您的 api 服务。因此,如果您看到它分配了端口 12345,例如您将调用以下 URL 来访问服务操作:

http://localhost:12345/api/v1/topics