将站点上传到 IIS,找不到控制器资源(错误 500)。使用 iisexpress 在本地工作
Uploaded site to IIS, cannot find controller resource (error 500). Works locally using iisexpress
进行了大量测试,最终使用 iisexpress 在 Visual Studio 中使一切正常。我已经通过网络 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);
}
});
});
点击按钮,它会在本地找到控制器中的 '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;" +
现在一切正常:)
进行了大量测试,最终使用 iisexpress 在 Visual Studio 中使一切正常。我已经通过网络 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);
}
});
});
点击按钮,它会在本地找到控制器中的 '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;" +
现在一切正常:)