我在网站上有一位用户收到此错误:
Object reference not set to an instance of an object.HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=utf-8
Location: /search.aspx?ds=1&s=s%c3%b8ren s%c3%b8rensen
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Thu, 25 Nov 2010 10:26:54 GMT
Content-Length: 177
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="%2fsearch.aspx%3fds%3d1%26s%3ds%25c3%25b8ren+s%25c3%25b8rensen">here</a>.</h2>
</body></html>
有问题的重定向在此处执行:
protected void btnSearch_Click(object sender, EventArgs e) {
string strSearch = ss.StringStuff.FixNullString(txtSearch.Text);
if (strSearch != "") {
Document dcFrontpage = new Document(1170);
int intSearchPageId = ss.NumberStuff.FixNull(dcFrontpage.getProperty("searchPageContentPicker").Value.ToString());
string strSearchPageUrl = umbraco.library.NiceUrl(intSearchPageId);
Response.Clear();
Response.Redirect(strSearchPageUrl + "?ds=1&s=" + strSearch);
}
}
有时会询问用户是否要保存文件,即使它是.aspx文件,其余时间浏览器只显示上面的内容。
我认为两个错误都发生是因为文本“对象引用未设置为对象的实例”。插入到标题中。当然,这不属于此并且使页面非常无效,因此浏览器的行为如上所述
我无法重现错误,我的同事也无法重现。
以前有人见过这样的事吗? 如何将文本插入标题中,为什么它只适用于单个(或极少数)用户?
提前致谢
修改
我已经考虑过代码中某个地方有一个try-catch的可能性应该写出某个地方出现的错误,但是为什么这个错误应该放在标题的开头,为什么它只会出现在很少用户?
此外,我刚刚检查了解决方案中的每个try-catch。他们都没有通过Response.Write打印出错误消息。
答案 0 :(得分:0)
我怀疑可能会有一些类似于潜伏某处的代码。取出try-catch
。你不想要它,最终也不会想要它的人。
try
{
// Do something
}
catch (Exception ex)
{
Respose.Write(ex.Message);
}
答案 1 :(得分:0)
现在找到错误。
用户似乎有一些严格的防病毒设置导致此错误
禁用这些设置时,她无法再重现该错误。