【问题标题】:How to access session and HTTPClient methods in Console app如何在控制台应用程序中访问 session 和 HTTPClient 方法
【发布时间】:2015-08-24 10:29:28
【问题描述】:

我已经创建了一个控制台应用程序。

我正在尝试访问 Session 变量并使用 HttpClient 进行 Api 调用。

我无法在命名空间中获取 Session 和 HttpClient 类。

我添加了以下包。

<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" />

如果我错过了任何其他包,请告诉我。我想执行以下代码。

我收到如下错误:

httpClient 是一种类型,但使用起来像方法。

这是我的代码:

【问题讨论】:

  • 我认为没有理由在代码的第 2 行出现该错误,除非您的大小写不正确。对于 Session,控制台应用程序中没有会话,因此您将永远无法访问它。
  • 即使我也添加了命名空间,我不能在控制台应用程序中使用会话?
  • @ShekharPankaj - 我无法访问 HttpClient 的任何属性。我收到错误“HttpClient 是一个字段,但用作方法”。
  • 改用System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();

标签: c# .net asp.net-mvc-4 http session


【解决方案1】:

Session 不适用于控制台应用程序。
这是一个 ASP.net 事物 - 它驻留在服务器端。

当您在 ASP.net 应用程序中访问 Session 时,您真正要做的就是从随请求发送的 cookie 中访问会话 ID。 服务器 然后从会话存储(在内存中、在数据库中等...)中检索 Session 对象,并使其可供 服务器端 应用程序使用。

您的控制台应用程序不知道(也不应该)任何此类 Session 内容。

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多