C# ASP.NET:为什么可以';我不能在一个页面中调用web服务两次吗?
我构建了一个web应用程序,它在应用程序的登录页面中两次调用web服务——第一次是在页面加载时,第二次是在单击按钮后。 调试时,一切都进行得很顺利,但在发布web应用程序并尝试之后,我无法对web服务进行两次调用(每次调用都在同一web服务中调用不同的函数) 如果我调用它一次(比如,在页面加载中),就可以了,但是一旦我进入按钮点击事件,页面看起来好像在加载,但实际上什么也没做(加载到无限大) 当我在Page_Load中禁用web服务调用时,按钮单击后的web服务调用工作正常,如果我在它们之间切换(禁用了call in button click并启用了Page_Load中的调用),则启用的web服务调用工作正常 这是怎么发生的?我做错了什么? 这可能与我发布web应用程序的位置有一些URL重写规则有关吗C# ASP.NET:为什么可以';我不能在一个页面中调用web服务两次吗?,c#,asp.net,web-services,web-applications,C#,Asp.net,Web Services,Web Applications,我构建了一个web应用程序,它在应用程序的登录页面中两次调用web服务——第一次是在页面加载时,第二次是在单击按钮后。 调试时,一切都进行得很顺利,但在发布web应用程序并尝试之后,我无法对web服务进行两次调用(每次调用都在同一web服务中调用不同的函数) 如果我调用它一次(比如,在页面加载中),就可以了,但是一旦我进入按钮点击事件,页面看起来好像在加载,但实际上什么也没做(加载到无限大) 当我在Page_Load中禁用web服务调用时,按钮单击后的web服务调用工作正常,如果我在它们之间切换
我不使用(!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);
...
}
你能展示一些代码段吗?您是否在
页面的
中使用if(!isPostBack)
调用Web服务?单击按钮时,页面加载
将触发。这可能有问题。如果您正在使用WCF,请确保关闭客户端。以前我没有关闭它时也有类似的行为。我在第一次调用web服务后尝试了service.Abort()和service.Dispose(),但仍然没有帮助。。。