进行了大量测试,最终使用 iisexpress 在 Visual Studio 中实现了所有功能。我已经通过 web package.zip 将它部署到 IIS 中,现在我的功能已停止工作。有什么想法吗?事件查看器未报告任何内容。
我单击按钮调用 ajax - GET 看起来格式正确,但找不到任何东西 - 我猜是“GetData”方法。是否需要在部署前更改项目中的 URL.Action? (尝试使用和不使用内容类型,因此使用评论标签)
Ajax 调用
<script>
$("#button").click(function (event) {
event.preventDefault();
var uquery = $('#HospitalID').val();
var url = '@Url.Action("GetData", "oncologyPatients")';
//alert(uquery); //ENABLE FOR ERROR CHECKING OF VARIABLE
var data = { value: uquery }
$.ajax(
{
url: url,
data: data,
type: 'GET',
//contentType: "application/json; charset=utf-8",
success: function (data)
{
$('#HospitalID').val(data.HID);
$('#NHS_No_').val(data.NHS);
$('#Forename').val(data.Fname);
$('#Surname').val(data.Sname);
$('#DOB').val(data.DOB);
},
error: function (xhr, status, error)
{
alert(status);
alert(error);
var err = xhr.responseText;
alert(err);
}
});
});
单击按钮,它会在本地找到 Controller 中的“GetData”并且工作正常。但是,在 IIS 8.5/Server 2012 R2 上运行时会抛出一个非常普遍的错误,我必须进入开发。 Chrome 的工具来获得一些有意义的东西:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
http://siteuat.local.com/oncologyPatients/GetData?value=11111111
任何想法,我倾向于绝对 URL,但看起来路由是正确的。
所有其他功能都很好 - 基本上只有这个调用有问题。
最佳答案
发帖几分钟后想通了 - grrr。它在本地工作,因为我的用户帐户有权对数据库进行 TrustedConnection(我不需要)。
我的 sqlConnection 看起来像这样:
SqlConnection DWLKup = new SqlConnection("user id=user;" +
"password= password;server=Server\\Instance;" +
"Trusted_Connection=yes;" +
"database=db1; ");
我删除了
"Trusted_Connection=yes;" +
现在一切正常了:)
关于c# - 将站点上传到 IIS,找不到 Controller 资源(错误 500)。使用 iisexpress 在本地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432571/