Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Web 服务列在IgnoreurlPrefixes列表中,我猜这与它有关。我有另一个服务未在该列表中列出,它返回登录用户。(不要让事情变得过于复杂,但我不清楚为什么我能够让一项服务可调用,而另一项服务不是基于它是否在IgnorURLPrefixes列表中。)
IgnoreurlPrefixes
IgnorURLPrefixes
所以问题是:当从 Web 服务调用时,如何Sitecore.Context.User返回已登录的用户?
Sitecore.Context.User
您没有 Sitecore 上下文,因为请求的页面被 Sitecore 忽略,因此不被它处理。如果您需要 Sitecore 上下文,则不能将 URL 列在IgnorURLPrefixes列表中...
正如另一个答案指出的那样,Siteocre.Context当 URL 列在IgnoreURLPrefixes. 最好的办法是在httpRequestBegin管道中添加一个处理器,在 Sitecore 尝试解析项目之前中止请求。这样,上下文至少可以部分可用。
Siteocre.Context
IgnoreURLPrefixes
httpRequestBegin
使用 MVC 路由执行此操作的示例很多。