代码之家  ›  专栏  ›  技术社区  ›  André Haupt saber safavi

有状态的WCF Web服务

  •  4
  • André Haupt saber safavi  · 技术社区  · 15 年前

    我对WCF不熟悉,我一直在尝试在Web服务中使用会话状态,我设法使用 number of articles .

    但是这些文章都遵循.NET 2.0方法,因为新的WCF服务引用在默认情况下没有CookieContainer。

    使用状态Web服务的新方法是什么?

    (不使用反向方法,例如使用wsdl.exe工具或2.0“添加Web服务”路由生成代码。)

    1 回复  |  直到 15 年前
        1
  •  6
  •   marc_s HarisH Sharma    15 年前

    一个词: 不要 !

    只要可能,服务就应该是无状态的-它使生活变得如此简单。

    如果您需要在两次调用之间保持状态,请将其放在持久性容器(例如数据库)中,并报告可以在下一次调用中找到它的ID。

    马克


    如果你真的 必须 保留会话( 真的?? 再考虑两次——更好的是:三次)——然后,WCF在特定绑定(协议)上提供每个会话调用。

    这个 basicHttpBinding 对于一个不支持会话的会话,它最接近asmx webservices。你需要使用 wsHttpBinding 对于面向互联网的应用程序,或 netTcpBinding 用于内部面向Intranet的服务。

    查看 MSDN docs 使用与WCF的会话时。