通过ASP.NET web方法调用方法时,简单代码循环不起作用
当我通过WebMethod执行代码时,任何循环或迭代都不起作用。如果我正常运行相同的代码,就不会有问题。基本上,执行for循环的顶行,然后忽略花括号中的任何内容。将执行以下任何代码。我尝试了foreach循环,结果是一样的。这是非常奇怪的行为,我不知道是什么原因造成的,任何帮助都是感激的通过ASP.NET web方法调用方法时,简单代码循环不起作用,asp.net,loops,asmx,webmethod,Asp.net,Loops,Asmx,Webmethod,当我通过WebMethod执行代码时,任何循环或迭代都不起作用。如果我正常运行相同的代码,就不会有问题。基本上,执行for循环的顶行,然后忽略花括号中的任何内容。将执行以下任何代码。我尝试了foreach循环,结果是一样的。这是非常奇怪的行为,我不知道是什么原因造成的,任何帮助都是感激的 [WebMethod] public static void MyPageMethod() { string str = string.Empty; string valueWillNotChang
[WebMethod]
public static void MyPageMethod()
{
string str = string.Empty;
string valueWillNotChange = string.Empty;
for (int i = 0; i < 4; i++)
{
str += i.ToString();
// anything here or below will not get executed ...
valueWillNotChange = str;
}
}
[WebMethod]
公共静态void MyPageMethod()
{
string str=string.Empty;
string valueWillNotChange=string.Empty;
对于(int i=0;i<4;i++)
{
str+=i.ToString();
//这里或下面的任何内容都不会被执行。。。
valueWillNotChange=str;
}
}
将代码放在独立的单元测试中,并验证它是否工作
正如@John Saunders所说,是你的代码不起作用。你的问题相当于“操作系统或编程语言的一些基本功能不起作用。我发现了一个bug”。答案总是代码中有错误,或者测试不正确。数百万人已经在web服务中完成了循环。如果它坏了,他们会在现在之前抱怨。变量fieldAndValue只在for循环中可用。您只是在分配,而不是在循环中使用它,所以现在的方式是,循环实际上没有做任何事情。这是您正在使用的实际代码还是只是一个示例?[WebMethod]public static void MyPageMethod(){string str=string.Empty;string valueWillNotChange=string.Empty;for(int i=0;i<4;i++){str+=i.ToString();//这里或下面的任何内容都不会被执行…valueWillNotChange=str;}}}感谢各位的快速响应…@John Saunders我以前也在web服务中做过循环,这就是为什么我对这种突然发生的情况感到困惑的原因-我是一名经验丰富的开发人员,拥有超过10年的经验,因此我非常熟悉编程基础知识。@moriartyn我知道变量fieldAndValue仅在for循环中可用,我对此感到高兴。我的意思是这条线没有被击中。为了回答您的问题,这不是我最初使用的代码,但我已经尝试过了,这个简单的示例不起作用。@Chris Marisic我建议您先阅读注释,然后再给出一个毫无帮助的“这是您的代码不起作用”。我已经按照你的建议做了,代码也确实起了作用(如上所述),这让人困惑。正如我所说(请阅读),这个项目有一些问题,我将不得不重建它。