Session 如何从ServiceStack中的layoutfile获取会话对象?
从所有其他页面中,我可以通过以下代码获得会话对象:Session 如何从ServiceStack中的layoutfile获取会话对象?,session,servicestack,Session,servicestack,从所有其他页面中,我可以通过以下代码获得会话对象: @{ var user = Request.GetSession(); } Authenticated: @user.IsAuthenticated 当我试图从布局文件获取会话时,我收到以下错误消息“无法编译模板。有关详细信息,请查看错误列表” 我在这个项目上使用自托管,会话对象的使用方式与ASP.NET项目不同 有人能告诉我如何解决这个问题的正确方向吗?好吧……如果您只是提供使用“布局”(或父)页面的静态内容(即呈现一个没
@{
var user = Request.GetSession();
}
Authenticated: @user.IsAuthenticated
当我试图从布局文件获取会话时,我收到以下错误消息“无法编译模板。有关详细信息,请查看错误列表”
我在这个项目上使用自托管,会话对象的使用方式与ASP.NET项目不同
有人能告诉我如何解决这个问题的正确方向吗?好吧……如果您只是提供使用“布局”(或父)页面的静态内容(即呈现一个没有服务“支持”的页面,如主页),我认为您无法检索会话对象,因为请求将为空 如果您正在呈现一个由服务支持的页面,并且它使用了一个_布局页面,我认为类似的东西应该可以工作
@{
var auth = false;
if (Request != null)
{
var key = Request.Cookies["ss-id"];
var sess = Cache.GetSession(key.Value);
auth = sess.IsAuthenticated;
}
}
Authenticated: @auth
这应该适用于使用ServiceStack的ASP.NET MVC/Razor应用程序的_Layout.cshtml文件。我还没有用ServiceStack.Razor尝试过
var key=SessionFeature.GetSessionKey()??"";
var sess=AppHost.Resolve().Get(键)
希望这有帮助 好吧……如果您只是提供使用_布局(或父)页面的静态内容(即呈现未被服务“支持”的页面,如主页),我认为您无法检索会话对象,因为请求将为空 如果您正在呈现一个由服务支持的页面,并且它使用了一个_布局页面,我认为类似的东西应该可以工作
@{
var auth = false;
if (Request != null)
{
var key = Request.Cookies["ss-id"];
var sess = Cache.GetSession(key.Value);
auth = sess.IsAuthenticated;
}
}
Authenticated: @auth
这应该适用于使用ServiceStack的ASP.NET MVC/Razor应用程序的_Layout.cshtml文件。我还没有用ServiceStack.Razor尝试过
var key=SessionFeature.GetSessionKey()??"";
var sess=AppHost.Resolve().Get(键)
希望这有帮助 使用ViewPage的
GetSession
进入您的会话
@inherits ViewPage
@{
var user = GetSession<AuthUserSession>();
}
<h1>@user.IsAuthenticated</h1>
@继承ViewPage
@{
var user=GetSession();
}
@user.IsAuthenticated
使用ViewPage的GetSession
进入您的会话
@inherits ViewPage
@{
var user = GetSession<AuthUserSession>();
}
<h1>@user.IsAuthenticated</h1>
@继承ViewPage
@{
var user=GetSession();
}
@user.IsAuthenticated
我使用的是自托管,会话对象的行为与ASP.NET解决方案不同。我使用的是自托管,会话对象的行为与ASP.NET解决方案不同。我忘了提到我使用的是自托管。此解决方案出现NotImplemented错误(仅支持通过Singleton访问的ASP.NET请求)。根据其他上下文编辑了答案。这似乎不起作用。我改变了页面的结构。我现在使用@Html.Partial而不是\u布局。这行得通。嗯……什么不行?我在自己主持的Razor Rockstars项目中对其进行了测试。@Html.Partial解决方案似乎是处理这个问题的好方法。我忘了提到我正在使用自托管。此解决方案出现NotImplemented错误(仅支持通过Singleton访问的ASP.NET请求)。根据其他上下文编辑了答案。这似乎不起作用。我改变了页面的结构。我现在使用@Html.Partial而不是\u布局。这行得通。嗯……什么不行?我在自己主持的Razor Rockstars项目中对其进行了测试。不过,@Html.Partial解决方案似乎是处理它的好方法。