C# 在IIS 8.5中的asp.net mvc 5上使用post操作时出现错误404

C# 在IIS 8.5中的asp.net mvc 5上使用post操作时出现错误404,c#,asp.net,asp.net-mvc,iis,C#,Asp.net,Asp.net Mvc,Iis,我对具有POST属性的操作有问题。 当我使用IIS Express Server时,一切正常,但当我使用本地IIS时,操作工作正常,并且当我的web应用程序中的调用后操作给我以下错误: HTTP错误404.0-找不到 您正在查找的资源已被删除、名称已更改或暂时不可用 例如,CallController中的此操作: [HttpPost] public PartialViewResult Connecting(FarakhanModels fara) { try

我对具有POST属性的操作有问题。 当我使用IIS Express Server时,一切正常,但当我使用本地IIS时,操作工作正常,并且当我的web应用程序中的调用后操作给我以下错误:

HTTP错误404.0-找不到 您正在查找的资源已被删除、名称已更改或暂时不可用

例如,CallController中的此操作:

[HttpPost]
    public PartialViewResult Connecting(FarakhanModels fara)
    {
        try
        {
            fara.IP = fara.IP.Trim();
            IPAddress IP = IPAddress.Parse(fara.IP);

            socket = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream,
            ProtocolType.Tcp);

            socket.Connect(IP, fara.Port);

            fara.IsConnected = true;
        }
        catch (Exception ex)
        {
            fara.ErrorMessage = ex.Message;
            fara.IsConnected = false;
        }

        return (PartialView(viewName: "_Partial_Connect", model: fara));
    }
基于这一观点:

<h4>Call group</h4>
<hr />
<div id="connect">
    <div id="loading">
        <img src="~/Images/ajax-loader.gif" title="loading" />
        Loading... Please Wati !
</div>

<br />

<div class="col-md-9 col-sm-9">
    <span class="col-md-3">Connect to server:</span>
    <input type="search" id="ip" />
</div>

<br />
<br />

<div class="col-md-9 col-sm-10">
    <span class="col-md-3 col-sm-3">Port:</span>
    <input type="search" id="port" />
</div>

<br />
<br />
<br />

<div class="col-md-2 col-md-offset-3">
    <button type="button" class="btn-primary" id="btnConnect">Connect</button>
    @*<input type="button" id="btnConnect" name="btnConnect" value="Connect" style="width:120px" />*@
</div>
<div class="col-md-12" id="message">

</div>


<br />
<br />
呼叫组

加载。。。求你了,瓦蒂!
连接到服务器:

端口:


连接 @**@

@节脚本{
$(文档).ready(函数(){
$(“div#loading”).hide();
$(“div#call”).hide();
$(“按钮#btnConnect”)。单击(函数(){
$(“div#message”).html(“”);
$(“div#loading”).show();
$(“按钮#btnConnect”).hide();
var varIp=$(“输入#ip”).val();
var varPort=$(“输入#端口”).val();
var varData=
{
ip:varIp,
港口:瓦波特,
};
$.ajax({
类型:“POST”,
数据类型:“html”,
数据:varData,
url:“/Call/Connecting”,
错误:函数(响应){
$(“div#message”).html(response.error.toString());
},
成功:功能(响应){
$(“输入#ip”).val(“”);
$(“输入端口”).val(“”);
$(“div#call”).show();
$(“div#connect”).hide();
$(“div#partialView”).html(回复);
},
完成:功能(响应){
$(“div#loading”).hide();
$(“按钮#btnConnect”).show();
}
})
})
})
}

当我点击Connect按钮时,Ajax没有找到Url:/Call/Connecting

我怀疑是Ajax调用中使用的Url:

url: "/Call/Connecting" 

它是从根路径开始的。如果在“/Call”不是根目录的环境中部署应用程序,您将得到404。例如,如果您在部署应用程序。那么url应该是“/my\u cool\u app/Call/Connecting”。我建议使用Url.Action helper动态构建动作端点,而不是硬编码。

谢谢,非常有用。我使用了“@Url.Action”(“连接”、“呼叫”)”,它成功了!
url: "/Call/Connecting"