从 aspx 访问 WCF 会话

发布于 2024-10-20 10:58:04 字数 57 浏览 1 评论 0原文

是否可以在 Web 应用程序中使用在 WCF 服务上创建的相同会话?有任何示例代码可以做到这一点吗?

Is it possible to use the same session created on WCF service in a web application? any sample code to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想念有你 2024-10-27 10:58:04

可以通过设置 ASPCompatibityMode 但您永远不应该这样做(访问 WCF 服务内的 ASP.NET 会话)。我建议您让 ASP.NET 应用程序使用此服务来简单地构造一个包含所有必要信息的 POCO 对象并将其发送到服务,以便服务不会与此会话强耦合。访问 WCF 服务内的 ASP.NET 会话会使该服务完全不可重用。如果您想从桌面应用程序调用您的服务怎么办?

It is possible by setting the ASPCompatibityMode but you should never do this (access ASP.NET session inside a WCF service). I would recommend you having the ASP.NET application consuming this service to simply construct a POCO object containing all the necessary information and send it to the service so that the service is not strongly coupled to this session. Accessing an ASP.NET session inside a WCF service makes this service completely non-reusable. What if you wanted to call your service from a desktop application?

向日葵 2024-10-27 10:58:04

WCF 会话存在于完全不同的上下文中 - ASP.NET 和 WCF 之间没有关系(除非您打开 AspNetCompatibility)= ASP.NET 不了解 WCF,而 WCF 也不了解 ASP.NET。因此,如果您想在 ASP.NET 和 WCF 之间共享某些内容,则必须手动使用这两种技术之外的内容。它通常意味着在每个 ASP.NET 和 WCF 请求中传递的一些自定义全局可访问(单例)“会话管理器”和自定义“会话 ID”。

WCF session exists in absolutely different context - there is no relation between ASP.NET and WCF (unless you turn on AspNetCompatibility) = ASP.NET doesn't know about WCF and WCF doesn't know about ASP.NET. So if you want to share something between ASP.NET and WCF you must manually use something outside both of these technologies. It generally means some custom globally accessible (singleton) "session manager" and custom "session id" passed in each ASP.NET and WCF request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文