【发布时间】:2020-11-06 20:41:11
【问题描述】:
我从 ASP.Net 中的一个项目开始,我有一个函数来执行登录,它有 userId 和 password 作为参数,但我需要创建一个数组参数,因为这将允许我使用不同的userId 和它们各自的password,我正在使用的函数如下:
public string Login(string sessionTicket, string dataSource, string userId, string password, int features) {
object[] results = this.Invoke("Login", new object[] {
sessionTicket,
dataSource,
userId,
password,
features});
return ((string)(results[0]));
}
除了上述之外,我将在下面的方法中使用这个函数,我还要将参数xtUser和xtPass转换成一个数组:
string sessionTicket = axServicesInterface.Login("",
GlobalVariables.dataSource,GlobalVariables.xtUser, GlobalVariables.xtPass,
Convert.ToInt32(EAxType.AxFeature_Basic));
登录功能参数图:
登录数组需要能够交替我每个请求的两个用户
更新:
尝试回答问题,但出现错误提示“上下文中不存在用户 ID”
public class LoginDetails
{
public string userId { get; set; }
public string password { get; set }
}
public string Login(string sessionTicket, string dataSource, LoginDetails[] loginDetails, int features) {
object[] results = this.Invoke("Login", new object[] {
sessionTicket,
dataSource,
userId,
password,
features});
return ((string)(results[0]));
}
他们知道我所做的是否符合我的需要,这就是我可以解决当前错误的方法。
【问题讨论】:
-
您在更新中调用的方法很可能期望在
userId和password的集合上。迭代您为数组中的每个项目调用 Invoke 的新数组。 -
我怀疑你会想要
foreach而不是loginDetails。 -
@JonP 你能解释得更好吗
-
@SebastianSalazar 您现在将 LoginDetails 数组(我假设它已填充?)传递给“外部”方法,但从未在其中使用它。
-
您的问题不太清楚:您想使用多组用户名和密码登录吗?为什么要使用 Invoke?如果希望使用字符串参数调用方法,则不能只传递一个数组并期望对数组中的每个值都执行它