加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET中的REST WCF服务和会话

发布时间:2020-12-16 06:58:10 所属栏目:asp.Net 来源:网络整理
导读:如果可以的话请帮忙. 我一直在尝试从WCF REST服务中访问asp.net应用程序的当前会话对象. 根本没有成功.从服务访问的会话对象与aspx页面中的对象不同. 所以,这是我的问题:是否可以通过HttpContext.Current.Session访问REST WCF服务中的当前会话? 代码有以下
如果可以的话请帮忙.

我一直在尝试从WCF REST服务中访问asp.net应用程序的当前会话对象.

根本没有成功.从服务访问的会话对象与aspx页面中的对象不同.

所以,这是我的问题:是否可以通过HttpContext.Current.Session访问REST WCF服务中的当前会话?

代码有以下几点:

[AspNetCompatibilityRequirements
(RequirementsMode = 
AspNetCompatibilityRequirementsMode.Allowed)] // I have also tried Required
public class DataService : IDataService

在web.config中:

<system.serviceModel>
  <behaviors>
   <endpointBehaviors>
    <behavior name="ClosedRoom.DataServiceBehavior">
     <enableWebScript />
    </behavior>
   </endpointBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" >
  <baseAddressPrefixFilters>
        <add prefix="http://localhost:63399"/>
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>

  <services>
    <service name="ClosedRoom.DataService">
      <endpoint address="" behaviorConfiguration="ClosedRoom.DataServiceBehavior"
        binding="webHttpBinding" contract="ClosedRoom.IDataService" />
    </service>
  </services>
</system.serviceModel>

谢谢,

解决方法

要重新会话,您需要提供密钥.在普通的asp.net应用程序中,密钥由用户通过cookie或url参数提供.

您打算如何从REST客户端获取该密钥?这些客户端在身份验证后最初如何获取该密钥?他们存放钥匙的地方?

这就是为什么大多数基于REST的服务都采用api访问密钥以及另一个密钥来签署每个请求.

恕我直言会议在基于REST的设计中无关紧要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读