Asp.net web api 不支持WEBApi 2.0 PUT

Asp.net web api 不支持WEBApi 2.0 PUT,asp.net-web-api,iis-7.5,put,http-status-code-405,Asp.net Web Api,Iis 7.5,Put,Http Status Code 405,我正在开发一个用于REACT站点的intranet API。GET工作正常,现在我正在尝试开发post,但我一直从Postman那里得到“请求的资源不支持http方法‘PUT’”。我已经浏览了很多网站和页面,并尝试了我能找到的一切,直到搜索我的Machine.config和默认Web.config文件。我已经删除了对WebDav的任何引用,并将动词添加到我能找到的系统的每个部分 我正在Windows 7上使用IIS 7.5,同时使用VS2019和.Net 4.7.2 这是我的web.config

我正在开发一个用于REACT站点的intranet API。GET工作正常,现在我正在尝试开发post,但我一直从Postman那里得到“请求的资源不支持http方法‘PUT’”。我已经浏览了很多网站和页面,并尝试了我能找到的一切,直到搜索我的Machine.config和默认Web.config文件。我已经删除了对WebDav的任何引用,并将动词添加到我能找到的系统的每个部分

我正在Windows 7上使用IIS 7.5,同时使用VS2019和.Net 4.7.2

这是我的web.config:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
      </customHeaders>
    </httpProtocol>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <remove name="WebDAVModule" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET, POST, PUT, DELETE, DEBUG, OPTIONS" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

  </system.webServer>
******************************编辑******************************* 添加React代码以进行put调用

export const SomeMethod_Update = (rowId, rowData) => (dispatch) => {
    dispatch(Actions.SomeMethodLoading());
    //var data={row: rowId, data: rowData};

    fetchInit.method = "PUT";
    fetchInit.body = JSON.stringify(rowData);
    var myReq = new Request('/dataAPI/SomeMethod/' + rowId, fetchInit);

    return fetch(myReq)
        .then(response => {
            if (response.ok) {
                return response;
            }
            else {
                var error = new Error("Error " + response.statusText);
                error.response = response;
                throw error;
            }
        }, error => {
            var err = new Error(error.message);
            throw err;
        })
        .then(response => response.json())
        .then(SomeMethod => {
            if (SomeMethod !== "false")
                dispatch(Actions.SomeMethodLoaded(SomeMethod))
            else
                CurrentPage_Update({ componentId: 'NotAllowed' });
        })
        .catch((err) => dispatch(Actions.SomeMethodFailed(err.message)));

}
我最初没有把这个放进去,因为我从邮递员那里得到了同样的问题。下面是我正在发送的JSON示例,以备参考:

[
    {
        "id": 226,
        "Case Number": 172524,
        "Last Name": "lastName",
        "First Name": "firstName",
        "Initials": "",
        "Bank #": "000       ",
        "Transit #": "12345             ",
        "Account #": "111111111         "
    }
]

据我所知,这个问题有多种原因。我建议您首先检查react代码,以确保使用了正确的参数。where;'您尝试使用PUT方法的代码是什么?
export const SomeMethod_Update = (rowId, rowData) => (dispatch) => {
    dispatch(Actions.SomeMethodLoading());
    //var data={row: rowId, data: rowData};

    fetchInit.method = "PUT";
    fetchInit.body = JSON.stringify(rowData);
    var myReq = new Request('/dataAPI/SomeMethod/' + rowId, fetchInit);

    return fetch(myReq)
        .then(response => {
            if (response.ok) {
                return response;
            }
            else {
                var error = new Error("Error " + response.statusText);
                error.response = response;
                throw error;
            }
        }, error => {
            var err = new Error(error.message);
            throw err;
        })
        .then(response => response.json())
        .then(SomeMethod => {
            if (SomeMethod !== "false")
                dispatch(Actions.SomeMethodLoaded(SomeMethod))
            else
                CurrentPage_Update({ componentId: 'NotAllowed' });
        })
        .catch((err) => dispatch(Actions.SomeMethodFailed(err.message)));

}
[
    {
        "id": 226,
        "Case Number": 172524,
        "Last Name": "lastName",
        "First Name": "firstName",
        "Initials": "",
        "Bank #": "000       ",
        "Transit #": "12345             ",
        "Account #": "111111111         "
    }
]