我构建了一个Web应用程序,它在应用程序的登录页面中两次调用Web服务 - 首先是在Page_Load上,第二次是在单击按钮之后。 调试时,一切顺利,但在发布Web应用程序并尝试之后 - 我无法对Web服务进行两次调用(每次调用都在同一个Web服务中调用不同的函数)。
如果我调用它一次(例如,在Page_Load中)就可以了,但是一旦我进入按钮点击事件,页面似乎正在加载但实际上什么也没做(加载到无穷大)。
当我在Page_Load中禁用了Web服务调用时,单击按钮后的Web服务调用运行良好,如果我在它们之间切换(在按钮单击中禁用了调用并在Page_Load中启用了调用),则启用了一个行。
为什么会这样?我做错了什么? 是否与我发布我的网络应用程序的位置有一些URL重写规则有关?
我没有使用(!isPostBack) - 我确实尝试在按钮点击事件之后放置两个调用,但仍然遇到同样的问题。
代码的相关部分:
protected void Page_Load(object sender, EventArgs e)
{
MyService.Functions service = new MyService.Functions();
string str = service.DigestURL(Request.RawUrl.ToString());
...
}
public void submitButton_Click(object sender, ImageClickEventArgs e)
{
MyService.Functions service = new MyService.Functions();
string str = service.CommitLogIn(usernameText.Text, passwordText.Text);
...
}
答案 0 :(得分:0)
你能展示一些代码段吗?您是否使用(!isPostBack)
中的Page_Load
来调用网络服务?单击按钮时会触发Page_Load
。可能存在问题。
答案 1 :(得分:0)
如果您使用的是WCF,请确保关闭客户端。我没有关闭它之前有类似的行为。