进行了大量测试,并最终使用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);
}
});
});
单击按钮并在本地找到控制器中的“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,但看起来路线是正确的。
所有其他功能都很好 - 基本上这只是一个有问题的电话。
答案 0 :(得分:3)
发布后几分钟想出来 - grrr。它在本地工作,因为我的用户帐户有权对数据库进行TrustedConnection(我不需要)。
我的sqlConnection看起来像这样:
SqlConnection DWLKup = new SqlConnection("user id=user;" +
"password= password;server=Server\\Instance;" +
"Trusted_Connection=yes;" +
"database=db1; ");
我删除了
"Trusted_Connection=yes;" +
现在一切正常:)