• webapi2的一些坑


     估计最坑人的坑是visual studio导致的,用IISExpress 调试的时候,设置的ProjectUrl,如果修改,就没那么容易如你所愿了。

    1. Webapi的url设置在项目属性里的ProjectUl里,假如url为http://localhost:53430

    如果你的api配置如下(本文用的webapi2.0, netframework 4.5.1, system.Web.Mvc 是5.0.0):..App_StartWebApiConfig.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Http;
    
    namespace StudioProcessService
    {
        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 }
                );
            }
        }
    }

    则你的实际请求的api的url地址为:http://localhost:53430/api/StudioProcessFile/Transfer

    其中api是框架自动添加的,估计跟上面的webapi的路配置有关系。

    StudioProcessFile 就是controller的类名,Transfer是函数名称。

    namespace StudioProcessService.RestApi
    {
        //[WebApiActionFilter]
        [RoutePrefix("api/StudioFileProcess")]
        public class StudioFileProcessController : ApiController, 
        {
    
            [HttpPost]
            public VOID Transfer(StudioProcessRequest request)
            {
    ......

    .

    如果修改ProjectUrl, 有时提示啥build virtual directory。 但是实际上,可能你的URL还是没有修改成功。

    解决办法是,删除C:Users{User}DocumentsIISExpress 目录, 不用担心。删除以后,挂壁vs,然后重新打开,vs可自动再创建该目录(经过试验是直接点击sln方式的重新打开,而不是打开vs后,从历史工程里选择sln),

    此时文件完成初始化,新的URL可能会生效了。

    在上面的目录下有个ApplicationHost.config文件,定义了很多Express调试的参数,可以好好研究一下。

     参考资料:

    https://stackoverflow.com/questions/15873126/unable-to-launch-the-iis-express-web-server

  • 相关阅读:
    初识STM32标准库
    自己写库—构建库函数雏形
    使用寄存器点亮LED等
    新建工程---寄存器版
    什么是寄存器
    初识STM32
    ST-LINK驱动的安装
    MDK5使用技巧
    开发环境的搭建
    1行Python代码制作动态二维码
  • 原文地址:https://www.cnblogs.com/dusf/p/12956514.html
Copyright © 2020-2023  润新知