【发布时间】:2017-06-17 19:45:17
【问题描述】:
我无法在 Web 服务事件上调用 Response.Redirect 我的代码是:
页面加载
if (!Page.IsPostBack)
{
PublicService.WebService1.Select_Category_By_Type_And_EntityTypeCompleted += WebService1_Select_Category_By_Type_And_EntityTypeCompleted;
PublicService.WebService1.Search_SuggestCompleted += WebService1_Search_SuggestCompleted;
}
关于事件代码
if (e.Error == null)
{
if (e.Result.Length > 0)
{
ViewState["SearchSuggest"] =Language.HelperD.SerializeDataContent( e.Result.ToList());
Timer1.Enabled = true;
// Session["SearchSuggest"] = ViewState["SearchSuggest"];
Response.Redirect("../Suggest/SearchResult.aspx", false);
}
}
错误是 System.Web.dll 中出现“System.Web.HttpException”类型的异常,但未在用户代码中处理
附加信息:在此上下文中没有响应。 在这种情况下没有响应。
Next Error ON 设置 Session
错误是: 会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中
我的配置是: 请参阅 enableSessionState="true" !
<%@ Page Title="" Language="C#" MasterPageFile="~/Base.Master" AutoEventWireup="true" Async="true" EnableSessionState="true" CodeBehind="SearchResult.aspx.cs" Inherits="TourismWeb.Suggest.SearchResult" %>
还有……
<pages theme="DeltaModerno1" controlRenderingCompatibilityVersion="4.0" enableSessionState="true" validateRequest="true" clientIDMode="AutoID" asyncTimeout="999999" enableViewStateMac="false" enableViewState="true">
<controls>
<add tagPrefix="dx" namespace="DevExpress.Web" assembly="DevExpress.Web.v16.2, Version=16.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
【问题讨论】:
-
if (e.Error == null) ....代码在哪里运行?在网络服务中?如果是这样,您需要在服务返回结果后在调用 web 服务的代码中处理重定向... -
我检查了 Web 服务错误,它是真的,请求没有错误。