Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与httpc客户端的Mantain会话#_C#_Asp.net Mvc_Session_Dotnet Httpclient_Controllers - Fatal编程技术网

C# 与httpc客户端的Mantain会话#

C# 与httpc客户端的Mantain会话#,c#,asp.net-mvc,session,dotnet-httpclient,controllers,C#,Asp.net Mvc,Session,Dotnet Httpclient,Controllers,出于安全原因,我的应用程序通过流显示网页 我有以下代码: var client = new HttpClient(); var response = await client.GetAsync("http://www.webpage.com"); Stream products = await response.Content.ReadAsStreamAsync(); return File(products, "text/html"); 这通过流显示网页,一切都很好,因此,我通过POST发送

出于安全原因,我的应用程序通过流显示网页

我有以下代码:

var client = new HttpClient();
var response = await client.GetAsync("http://www.webpage.com");
Stream products = await response.Content.ReadAsStreamAsync();
return File(products, "text/html");
这通过流显示网页,一切都很好,因此,我通过POST发送数据,例如,简单登录:

[HttpPost]
public async Task<ActionResult> Index([Bind(Include = "ID,username,password")] DataUser dataUser)
{
    var myHttpClient = new HttpClient();

    var formContent = new FormUrlEncodedContent(new[]
    {
        new KeyValuePair<string, string>("username", dataUser.username),
        new KeyValuePair<string, string>("password", dataUser.password)
    });

    var response = await myHttpClient.PostAsync("http://www.webpage.com", formContent);
    Stream stringContent = await response.Content.ReadAsStreamAsync();
    return File(stringContent, "text/html");
}
[HttpPost]
公共异步任务索引([Bind(Include=“ID,username,password”)]DataUser-DataUser)
{
var myHttpClient=新的HttpClient();
var formContent=new FormUrlEncodedContent(new[]
{
新的KeyValuePair(“用户名”,dataUser.username),
新的KeyValuePair(“密码”,dataUser.password)
});
var response=等待myHttpClient.PostAsync(“http://www.webpage.com“,formContent);
Stream stringContent=wait response.Content.ReadAsStreamAsync();
返回文件(stringContent,“text/html”);
}
一切都很好,我可以登录,但问题是,当我想访问另一个页面时,它会向我显示一条消息,表示我没有活动会话

那么,如何使用HttpClient维护活动会话?有什么办法吗


谢谢

一,。跟踪cookies。2.您能否引用将文件保存到磁盘并显示它们的“安全”原因?相信我,我非常怀疑你会以这种方式增加任何安全性。谢谢@zaitsman,这更像是我的客户想要的,我知道,这不是一个好主意,但他想要它,就像“如果我的服务器被黑客攻击,他们可以下载代码!只能看到这个控制器,但不能看到核心代码”