Moh*_*lam 5 .net asp.net wcf sessionid
如果可以的话请帮忙.
我一直在尝试从WCF REST服务中访问asp.net应用程序的当前会话对象.
根本没有成功.从服务访问的会话对象与aspx页面中的对象不同.
所以,这是我的问题:是否可以通过HttpContext.Current.Session 访问REST WCF服务中的当前会话?
代码有以下几点:
[AspNetCompatibilityRequirements
(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)] // I have also tried Required
public class DataService : IDataService
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
谢谢,
为了重新恢复会话,您需要提供密钥。在普通的 ASP.NET 应用程序中,该密钥由用户通过 cookie 或 url 参数提供。
您打算如何从 REST 客户端获取该密钥?这些客户端在身份验证后最初如何获取该密钥?他们把钥匙存放在哪里?
这就是为什么大多数基于 REST 的服务都采用 API 访问密钥和另一个密钥来签署每个请求。
恕我直言,会话与基于 REST 的设计无关。
| 归档时间: |
|
| 查看次数: |
3413 次 |
| 最近记录: |