簡體   English   中英

在IIS 8.5中的asp.net mvc 5上使用后期處理時出現錯誤404

[英]Error 404 in working with post actions on asp.net mvc 5 in IIS 8.5

我對具有POST屬性的操作有疑問。 當我使用IIS Express Server時一切正常,但是當我使用本地IIS時,GET操作可以正常工作,並且在我的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 />

@section Scripts {
<script>
    $(document).ready(function () {
        $("div#loading").hide();
        $("div#call").hide();

        $("button#btnConnect").click(function () {
            $("div#message").html("");

            $("div#loading").show();
            $("button#btnConnect").hide();

            var varIp = $("input#ip").val();
            var varPort = $("input#port").val();

            var varData =
                {
                    ip: varIp,
                    port: varPort,
                };

            $.ajax({
                type: "POST",
                dataType: "html",
                data: varData,
                url: "/Call/Connecting",
                error: function (response) {
                    $("div#message").html(response.error.toString());
                },

                success: function (response) {
                    $("input#ip").val("");
                    $("input#port").val("");

                    $("div#call").show();
                    $("div#connect").hide();
                    $("div#partialView").html(response);
                },

                complete: function (response) {
                    $("div#loading").hide();
                    $("button#btnConnect").show();
                }

            })
        })
    })
</script>

    }

當我單擊“連接”按鈕時,Ajax找不到Url:/ Call / Connecting

我懷疑是ajax調用中使用的URL:

url: "/Call/Connecting" 

它是從根路徑開始的。 如果將應用程序部署在“ / Call”不是根目錄的環境中,則會得到404。 例如,如果您將應用程序部署在http://example.com/my_cool_app上 然后,該網址應改為“ / my_cool_app / Call / Connecting”。 我建議使用Url.Action幫助程序來動態構建操作端點,而不是對其進行硬編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM