.NET 4.5 中等待完成后 HttpContext.Current 为 null

2024-01-31

我在 .NET 4.5 Web 应用程序中定义了以下简单的 WCF 服务:

[ServiceContract]
public interface IService1
{
    [OperationContract]
    [WebGet(UriTemplate = "json/DoWork/", ResponseFormat = WebMessageFormat.Json)]
    Task<string> DoWork();
}

public class Service1 : IService1
{
    public async Task<string> DoWork()
    {
        Debug.WriteLine(HttpContext.Current != null);
        var s = await new HttpClient().GetStringAsync("http://www.google.com");
        Debug.WriteLine(HttpContext.Current != null);
        return s;
    }
}

web.config 是:

<configuration>
  <system.web>
    <compilation debug="true"
                 targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

  <system.serviceModel>
    <services>
      <service name="WebApplication1.Service1">
        <endpoint address=""
                  binding="webHttpBinding"
                  contract="WebApplication1.IService1"/>
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="">
          <webHttp />
        </behavior>
      </endpointBehaviors>

      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true"
                           httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
                               multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
</configuration>

输出是

True
False

在 .NET 4.5 中,await 完成后上下文不应该可用吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 4.5 中等待完成后 HttpContext.Current 为 null 的相关文章

随机推荐

  • iPhone 应用程序处于非活动状态时 NSTimer 回调

    这个问题似乎是这个论坛上其他几个问题的本质 我相信活动的iPhone应用程序有可能继续运行 特别是在进入非活动状态后继续接收计时器回调 通过屏幕锁定中的空闲计时器 或者通过用户按下硬件锁定按钮 该文档特别指出 当应用程序处于非活动状态时 它
  • Firebase 托管的速率限制

    我一直在寻找通过 IP 限制请求速率的方法 但找不到任何资源 基本上我正在寻找的是一种实现防火墙逻辑的方法 我知道我可以使用数据库规则限制经过身份验证的用户请求 但如何限制页面点击次数 例如 我只想允许每个 IP 每分钟 150 个请求 有
  • Convert.ToBase64String/Convert.FromBase64String 和 Encoding.UTF8.GetBytes/Encoding.UTF8.GetString 之间的区别

    我目前正在学习 NET 中的对称密码学 我写了一个demo如下 private byte key Encoding ASCII GetBytes abcdefgh private byte IV Encoding ASCII GetByte
  • SwiftUI:选择器不会更新同一视图中的文本

    我有这个简单的情况 struct User Hashable Identifiable var id Int var name String func hash into hasher inout Hasher hasher combine
  • Python 函数告诉我,当我只发送一个参数时,我发送了两个参数

    我正在使用谷歌的webapp http code google com appengine docs python tools webapp 框架 我下面想做的只是发送结果查询 fetch http code google com appe
  • 为每个 CouchDB 用户提供一个单独的数据库是一个好的做法吗?

    我对用户及其文档的结构有一些概念性问题 为 CouchDB 中的每个用户提供自己的保存文档的数据库是一个好习惯吗 我读到 couchDB 可以处理数千个数据库 并且每个用户拥有自己的数据库并不罕见 Reason 提出这个问题的原因是我正在尝
  • 显示多值参数

    我有一个多值参数 其中大约有 25 个元素 如果用户选择 全选 并且我使用标准 至少据我所知 方法在报告顶部显示参数 join Parameters ProductClass Value 而不是 全部 这个词或我得到的东西 01 02 03
  • V-html只用于文本,安全吗?

    我现在在关于原始 HTML 的 Vue 文档 https v2 vuejs org v2 guide syntax html Raw HTML说明我们可以使用v html渲染一些内部 html 我承认这是合法且最简单的技巧 但由于我很担心
  • CodeIgniter .htaccess index.php 重写不适用于用户目录

    我在使用 codeigniter 时遇到了一些问题 我有一个 htaccess 来重写 index php 如果我将我的项目放在 var www 上或者为其创建一个虚拟主机 它会很好地工作 但我想使用我的用户目录 例如http localh
  • 如何更改富文本框 wpf c# 中选定的文本背景颜色

    如何在 to 中显示 html 文本RichTextBox控制 实际上我想更改所选文本的背景颜色RichTextBox在 C 中 wpf 我尝试了这段代码 但它不显示格式化文本 请帮助我 提前致谢 void rtbTextEditor Se
  • xsd 架构文件必须在 SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class 中进行注释?

    这是使用 SQLXMLBULKLOADLib SQLXMLBulkLoad4Class 的示例 STAThread static void Main string args try SQLXMLBULKLOADLib SQLXMLBulkL
  • 将多个 PHP 脚本合并到一个文件中

    我有一个 PHP 脚本 其中包含一两个其他库 它依赖于使用 include 陈述 为了使其更容易移植 我想以某种方式 编译 脚本和included 将其库放入单个 PHP 脚本中 与ack http betterthangrep com将其
  • 尝试从 Chrome 实现拖放 Gmail 附件

    我一直在尝试将 Gmail 附件从 Chrome 拖放到我的应用程序中 可以将文件从电子邮件拖到桌面并在那里创建附件 所以我知道这一定是可能的 我已经能够让它读取文件名 但是当我从数据对象读取 FileContents 时 我得到一个带有该
  • 将 HTML 转换为 CSV

    我想将从下面的脚本获得的 HTML 表转换为 CSV 文件 但出现类型错误 如下所示 类型错误 序列项 0 预期字符串 找到标签 from bs4 import BeautifulSoup import urllib2 url http w
  • 使用 SQL 按日期过滤

    我想知道您的想法 我必须获得会话期间与系统的所有连接 为了使这个过程自动化 我决定使用 current date 但这不起作用 因为 current date 不是字符串 而是函数 所以我的问题是是否有人可以帮助我查询以获取当天所有连接的数
  • 将基本身份验证和表单登录结合到同一个 REST Api

    有没有办法为同一个 REST 服务设置基本身份验证和表单登录 我想让登录的用户在登录后通过网络浏览器以及从命令行运行来触发此服务curl u username password hostname com api process现在我看到了这
  • 网站加载时显示旋转轮或进度条

    我正在使用名为 jquery treeview 的 jQuery 插件构建一个树视图 构建此树视图需要花费大量时间 大约 5 7 秒 并且我想在页面加载时显示旋转轮或进度条 有谁知道这是怎么做到的吗 我只找到了加载视频或图像的解决方案 其中
  • 来自 Google 的带有 Charts API 示例的 GWT 无法正常工作

    我已经下载了在 GWT 中使用图表所需的 jar 附带的存档 存档中还有示例应用程序 http gwt google com samples hellovisualization 1 1 0 HelloVisualization html
  • 向量和平均数的随机化

    我有一个计算累积平均值和标准差的脚本 library tidyverse tibble aa c 2 3 4 5 6 7 8 gt mutate running mean sapply seq n function i mean aa se
  • .NET 4.5 中等待完成后 HttpContext.Current 为 null

    我在 NET 4 5 Web 应用程序中定义了以下简单的 WCF 服务 ServiceContract public interface IService1 OperationContract WebGet UriTemplate json