【发布时间】:2014-07-31 10:19:20
【问题描述】:
我正在使用 WCF 服务(启用 Ajax)。在我的服务中,当发生错误时,我会将其记录到数据库中,并将用户重定向到错误页面。
为了重定向用户,我使用这个:
HttpContext.Current.Response.Redirect("error.aspx");
所以我正在记录错误并重定向用户
问题是,当发生错误时,它会被记录多次,并且不会重定向用户。
当我说它被多次记录时,这意味着:我的数据库中有多个错误记录用于此错误。 (只假设一个错误有一个日志)
所以我试图理解:为什么?
看起来当我尝试重定向时,服务方法又开始了(就像它被再次调用一样)。
这是我的完整过程:
我用 jquery 调用服务:
$.getJSON("ContactService.svc/getsubtitle", { titleid: titleid }, function (data) {
...
});
服务方法如下:
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void getsubtitle(string titleid)
{
try
{
.... (ERROR !)
}
catch (Exception ex)
{
LogTheError(ex);
HttpContext.Current.Response.Redirect("error.aspx");
}
}
那么,你们能帮我理解为什么HttpContext.Current.Response.Redirect 不重定向并且做了一件奇怪的事情吗?
【问题讨论】:
标签: c# jquery asp.net wcf redirect