将 Stopwatch 方法与 soap 接口一起使用
Using the Stopwatch method with a soap interface
我正在尝试在我的 soap 程序中实现一个秒表方法。该方法将启动秒表并在程序加载后停止秒表,我想在 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 是遗留的)
您的代码在 return 语句被命中后未被命中。您只需将您的消息设置为一个变量,并在您调用的方法结束时 return 它。
据我了解,return 是您的方法调用停止的地方。没有进一步的处理发生。
如何return流逝的时间由您决定。您可以在函数中传递一个 long 变量 byref,return 来自该方法的对象,XML,一个具有特定结构的字符串,您可以在之后将其分解(类似于 "value to return|elapsed time"),等等
我正在尝试在我的 soap 程序中实现一个秒表方法。该方法将启动秒表并在程序加载后停止秒表,我想在 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 是遗留的)
您的代码在 return 语句被命中后未被命中。您只需将您的消息设置为一个变量,并在您调用的方法结束时 return 它。
据我了解,return 是您的方法调用停止的地方。没有进一步的处理发生。
如何return流逝的时间由您决定。您可以在函数中传递一个 long 变量 byref,return 来自该方法的对象,XML,一个具有特定结构的字符串,您可以在之后将其分解(类似于 "value to return|elapsed time"),等等