我在C# ASP页面中创建WinSCP Session[Options]
变量时遇到问题。
我有登录页面,我正在那里定义会话变量.
namespace HLR_Handling
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session["sftpHostName"] = "x.x.x.x";
Session["sftpUserName"] = "tempuser";
}
}
}
在Profile_Search
页面中,我尝试将该变量值分配给SessionOption
参数,但在此出现以下错误。
CS0120:sessionoptions的非静态字段、方法或属性“System.Web.UI.Page.Session.get”需要对象引用
public partial class Profile_Search : System.Web.UI.Page
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = Session["sftpHostName"].ToSTring(),
UserName = Session["sftpUserName"],
Password = "xxxxxx",
PortNumber = 22,
SshHostKeyFingerprint = "ssh-rsa x:x:X:Xxxxxxxx"
};
protected void btnHLR_Click(object sender, EventArgs e)
{
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// ....
}
}
}
1条答案
按热度按时间oxiaedzo1#
将
SessionOptions
声明移到方法中。如果需要重复使用会话选项,可以将创建分解为一个方法:
或者,您可以将整个会话创建分解为: