相关疑难解决方法(0)

ASP.NET MVC - Session为null

我在.net4上有一个MVC3应用程序,它的会话在dev环境中工作,但不在生产环境中.
在制作中我记录了sessionID,它在我设置和从会话中获取的时刻是相同的.

当我试图获得会话时,我得到了Null Exception.

这是我访问会话的方式:

public static class HandlersHttpStorage
{
    public static string TestSession
    {
        get
        {
            return HttpContext.Current.Session["time"];//This is null
        }
        set
        {
            HttpContext.Current.Session.Add("time", value);//DateTime.Now.ToString()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

令我担心的是,即使web.config是相同的,生产中的行为也不同于开发.

asp.net session asp.net-mvc-3

10
推荐指数
1
解决办法
4万
查看次数

Umbraco图像处理器不裁剪图像

与Umbraco ImageProcessor相关的问题与其他许多问题相同.我目前正在使用7.4版本,但7.3也不会裁剪图像.

我正在使用Azure Blob存储,CDN已经按照配置设置到了tee.

完整图像通过Umbraco后台上传到Azure存储,但已经尝试了各种格式化的URL请求来拉取和裁剪图像,但没有一个工作,无论是JPG还是PNG文件.根本不会发生裁剪,始终返回完整图像.

使用fiddler,我可以看到请求将转到Azure Blob以检索图像,但无论裁剪大小如何,始终返回完整的图像大小.

HTTP://本地主机:10876 /媒体/ 1022/grower.jpg中心= 0.70666666666666667,0.505&模式=作物&宽度= 100&高度= 50&RND = 130950810990000000

包裹配置...

<package id="ImageProcessor" version="2.3.1.0" targetFramework="net452" />
  <package id="ImageProcessor.Web" version="4.4.1.0" targetFramework="net452" />
<package id="ImageProcessor.Web.Config" version="2.2.4.0" targetFramework="net452" />
 <package id="ImageProcessor.Web.Plugins.AzureBlobCache" version="1.0.5.0" targetFramework="net452" />
<package id="UmbracoFileSystemProviders.Azure" version="0.5.0-beta" targetFramework="net452" />
Run Code Online (Sandbox Code Playgroud)

网络配置......

  <modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule" />
  <remove name="UrlRewriteModule" />
  <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
  <remove name="UmbracoModule" />
  <add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
  <remove name="ImageProcessorModule" />
  <add name="ImageProcessorModule" type="ImageProcessor.Web.HttpModules.ImageProcessingModule, ImageProcessor.Web" />
  <remove name="ScriptModule" />
  <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, …
Run Code Online (Sandbox Code Playgroud)

image umbraco image-processing azure

9
推荐指数
1
解决办法
1411
查看次数

使用Asp.net路由的IRouteHandler.GetHttpHandler中的会话为空

我正在尝试在我的IRouteHandler类的GettHttpHandler方法中启用Session,但session始终为null.有人能告诉我我做错了什么吗?

在global.asax我有

RouteTable.Routes.Add("All", new Route("{*page}", new MyRouteHandler()));
Run Code Online (Sandbox Code Playgroud)

Session为null的MyRouteHandler类如下所示:

public class MyRouteHandler : IRouteHandler, IRequiresSessionState
{
    public System.Web.IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        string test = HttpContext.Current.Session["test"].ToString();
        return BuildManager.CreateInstanceFromVirtualPath("~/Page.aspx", typeof(Page)) as Page;
    }
}
Run Code Online (Sandbox Code Playgroud)

我做了一个小测试应用程序来显示问题.

有人能告诉我我做错了什么吗?

编辑添加:

是的,我真的需要路由处理程序中的会话数据.有许多原因,但可以轻松解释的是当用户可以切换到以预览模式浏览网站时.

该站点由数据库中的动态页面层次结构(/ page1/page2 ...)组成,可以正常发布或预览.浏览网站的内容制作者可以选择仅查看普通页面或查看发布到预览的页面.浏览模式存储在用户的会话中,因此路由处理程序需要知道浏览模式才能解析所请求的页面.

所以我真的需要在那个阶段的会议.

asp.net session null routing iroutehandler

5
推荐指数
2
解决办法
2927
查看次数

ASP.NET路由 - 自定义路由完全跳过Global.asax中的所有内容吗?

我有一个简单的ASP.NET 3.5 SP1 Web窗体应用程序...我添加了System.Web.Routing DLL,我做了一个简单的路由,返回一个标准的ASP.NET页面作为"IHttpHandler".

一切都很好......除了HttpContext.Current.User为 ???

所以,我做了一点挖掘(我在Global.asax文件中的所有事件中放置了断点).通常,这些断点会受到影响(当我导航到标准的".aspx"页面时):

  • 的Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_EndRequest

但是,当使用ASP.NET Routing时......这些事件都没有被触发.我错过了什么吗?

asp.net routing webforms

2
推荐指数
1
解决办法
1万
查看次数