【问题标题】:Using the Stopwatch method with a soap interface使用带有肥皂接口的 Stopwatch 方法
【发布时间】:2023-03-29 16:10:01
【问题描述】:

我正在尝试在我的肥皂程序中实现秒表方法。该方法将启动秒表并在程序加载后停止秒表,我想在 asmx 页面上显示启动和停止之间经过的时间。

下面是我试图实现秒表方法的代码:

  public class WebService1 : System.Web.Services.WebService
{

    static private Authenticator auth = new Authenticator();
    Stopwatch sw = new Stopwatch();

    [WebMethod]

    public string Authenticate(string username, string password)
    {
        sw.Start();
        if (string.IsNullOrWhiteSpace(username) && string.IsNullOrWhiteSpace(password))
        {
            return "Please enter a username and password";
        }
        if (string.IsNullOrWhiteSpace(username))
        {
            return "Please enter your username!";
        }
        if (string.IsNullOrWhiteSpace(password))
        {
            return "Please enter your password!";
        }
        //Assigning the username and password variables to a bool called isvalid
        bool isvalid = auth.authenticated(username, password);
        {
            if (isvalid)//Not using == because im not comparing
            {
                return "Authenticated!";
            }
            else
            {
                return "Not Authenticated!";
            }
        }


        sw.Stop();
        long time = sw.ElapsedMilliseconds;
        return time.ToString();
        //  long time = sw.ElapsedMilliseconds;
        //  return time.ToString();             
    }
}

}

我的问题是 - 是否可以按照我的要求做,如果可以的话,我到目前为止是正确的,因为它不起作用! (是的,我知道 .asmx 是旧版)

【问题讨论】:

    标签: c# web-services soap asmx stopwatch


    【解决方案1】:

    return 语句被命中后,您的代码没有被命中。您只需将消息设置为一个变量并在您调用的方法结束时返回它。

    据我了解,return 是您的方法调用停止的地方。不进行进一步处理。

    如何返回经过的时间取决于您。你可以在函数中传递一个 long 变量 byref,从方法返回一个对象,XML,一个具有特定结构的字符串,你可以在之后分解(类似于“返回的值|经过的时间” ) 等。

    【讨论】:

    • 没有被击中是什么意思?好像没有被叫到?
    • 例如,如果您的代码行 return "Please enter a username and password"; 被执行,您的方法的进一步执行将停止并将值返回给调用者.你不从那里处理秒表。
    • 好的!谢了哥们!这真的很有帮助,现在开始工作了!
    • 干得好!如果您觉得 ByRef 有帮助,请查看如何使用它。如果您使用的是 Visual Studio,肯定会在您的代码中设置断点并在调试模式下运行。这将为您提供正在发生的事情的确切细节。
    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2018-02-04
    • 2018-04-12
    相关资源
    最近更新 更多