我家的控制器成功地返回index.html從http://localhost/ 和http://localhost/controller/但如果我試著打http://localhost/controller/method/404即使該方法在 IIS express 中工作正常,我也會得到一個。無法在網(wǎng)上找到任何有類似問題的人,其中只有控制器上的方法在一個特定部署上不起作用,但控制器本身很好。我嘗試過的許多 .Net Core 2.0 問題與 IIS 部署中很常見的事情:確保在項目設(shè)置和 IIS 中啟用了 Windows 身份驗證(我已將其打開和關(guān)閉都無濟于事,因為我的 Web 應(yīng)用程序上沒有用戶身份驗證,所以我認(rèn)為這對我來說并不重要)。切換我的應(yīng)用程序池以No managed code用于CLR版本將應(yīng)用程序池 ID 更改為 LocalSystem更改我的發(fā)布輸出文件夾的權(quán)限以包括 %hostname%\IIS_IUSRS很確定我也嘗試了很多其他基本的故障排除,有時可以解決問題。IE 刪除和閱讀應(yīng)用程序。再次打開和關(guān)閉東西無濟于事。任何解決此問題的建議將非常受歡迎。我還想指出它昨天還在工作,并且不記得除了要使用的發(fā)布輸出之外的任何其他更改,Debug而不是Release現(xiàn)在我已經(jīng)改回了,Release但仍然沒有運氣。這是一些代碼public class MyController : Controller{ public IActionResult Index() { return View(); } [HttpPost] public void Store([FromBody]MyObject obj) { Console.WriteLine(Request.Body); //Some code } [HttpGet] public void Check(string objectUID, string idfv) { Console.WriteLine($"ObjectUID: {objectUID}"); Console.WriteLine($"IDFV: {idfv}"); //some other code } [HttpGet] public MyObject Retrieve(string objectUID) { Console.Writeline($"ObjectUID: {objectUID}"); //Some Code }}這是我的路由。app.UseMvc(routes =>{ routes.MapRoute( name: "default", template: "{controller=MyController}/{action=Index}/{id?}");});
3 回答

蝴蝶刀刀
TA貢獻1801條經(jīng)驗 獲得超8個贊
在嘗試訪問我網(wǎng)站的帳戶控制器時,我遇到了類似的問題,即出現(xiàn) 404。所有其他 Razor 頁面都可以正常工作。如果我在 web.config 中將 inheritInChildApplications="false" 更改為 true,則控制器開始工作。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="true">
...
</configuration>
- 3 回答
- 0 關(guān)注
- 237 瀏覽
添加回答
舉報
0/150
提交
取消