【发布时间】:2020-02-20 23:14:15
【问题描述】:
我已经在本地完成了我的 ASP.NET Core 应用程序的测试,它运行良好。但是,在发布到我们的 UAT 服务器后,我的视图上的触发器出现 404 错误,我无法确定原因。我可能会遗漏一些明显的东西,并且会欣赏新鲜的眼睛。谢谢你。
我尝试在 StartUp 中修改路由并尝试在我的控制器中混合路由。
startup.cs中Configure方法的相关部分:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=StartPage}/{id?}");
});
我的 StartPage 视图中的相关表单:
<form action="@Url.Action("StartSlsProcess", "Home")" method="post" enctype="multipart/form-data" id="trigger">
<div id="process-trigger">
@(Html.DevExtreme().Button()
.Text("Start SLS")
.Type(ButtonType.Success)
.UseSubmitBehavior(true)
)
</div>
</form>
HomeController 中的方法:
[HttpPost]
public ActionResult StartSlsProcess()
{
var empty = new string[0];
ConsoleApp.Program.StartProcessFromUI(empty);
return new EmptyResult();
}
我希望当在视图上按下按钮时,它会触发我的控制台应用程序上的 StartProcessFromUI 方法,继续单独的进程并刷新视图,就像在本地一样。
编辑:更令人困惑的问题是我的其他操作工作正常,并且设置相同:
<form action="@Url.Action("Upload", "Home")" method="post" enctype="multipart/form-data" id="uploader">
<div id="fileuploader-container">
@(Html.DevExtreme().FileUploader().Name("file")
.ID("file-uploader")
.Accept("*")
.UploadMode(FileUploadMode.Instantly)
.UploadUrl(Url.Action("Upload", "Home"))
//.OnUploadError("fileUploader_onUploadError")
//.OnValueChanged("fileUploader_valueChanged")
)
</div>
</form>
HomeController 方法:
[HttpPost]
public ActionResult Upload()
{
try
{
var file = Request.Form.Files["file"];
var path = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
using(var fileStream = System.IO.File.Create(Path.Combine(path, file.FileName))) {
file.CopyTo(fileStream);
fileStream.Flush();
}
MoveFileFromServer(path, file);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
return new EmptyResult();
}
此外,我的 ConsoleApp 上的方法 StartProcessFromUI 实际上被命中,只是 404 错误然后在前台返回。
【问题讨论】:
标签: c# asp.net-core model-view-controller devexpress