Tag: asp.net

如何从asp.net中使用c#中的查询string中删除项目?

我想从我的url中删除“语言”查询string。 我怎样才能做到这一点? (使用Asp.net 3.5,C#) Default.aspx?Agent=10&Language=2 我想删除“语言= 2”,但语言将是第一个,中间或最后一个。 所以我会有这个 Default.aspx?Agent=20

CustomErrors在设置redirectMode =“ResponseRewrite”时不起作用

在旧网站中,我通过添加redirectMode="ResponseRewrite" (3.5 SP1中的新增function)来改变CustomErrors的工作方式: <customErrors mode="RemoteOnly" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite"> <error statusCode="404" redirect="404.aspx" /> </customErrors> 问题是:它向我展示了通用的错误页面(当你不设置customErrors时候会得到一个错误页面),如果我删除了redirectMode="ResponseRewrite"部分,它就可以正常工作。 我确定3.5 SP1安装在服务器上,因为我在同一服务器上托pipe的其他站点上使用相同的设置。 有任何想法吗?

无法评估expression式,因为代码已经过优化,或者本地框架位于调用堆栈之上

我收到错误: 无法评估expression式,因为代码已经过优化,或者本地框架位于调用堆栈之上。 我已经redirect到中继器的itemcommand事件中的新页面。 该行发生错误: string url = "~/Galleries/AlbumImageList.aspx?UId=" + this.UserId.ToString() + "&AlbumId=" + e.CommandArgument.ToString(); Response.Redirect(url); 任何人都可以帮我吗? 有什么不对吗? _COMPlusExceptionCode是 – 532459699 。

ASP.NET MVC – 如何在login页面显示未经授权的错误?

在我的ASP.NET MVC应用程序中,我有大多数控制器装饰 [Authorize(Roles="SomeGroup")] 当用户没有权限访问某些东西时,他们被发送到“〜/ Login”,这是我的账户控制器上的login操作。 我怎样才能确定一个用户已经到达login页面,因为没有被授权,以便我可以显示一个适当的错误?

无法在Web服务器上启动debugging。 无法启动ASP.NETdebuggingVS 2010,II7,Win 7 x64

我在Windows 7 x64上运行Visual Studio 2010(作为pipe理员),IIS 7。 我能够在IIS 7中运行ASP.NET网站而无需进行debugging,但是当按F5进行debugging时,我会得到: 无法在Web服务器上启动debugging。 无法启动ASP.NETdebugging。 更多的信息可以通过启动项目而不用debugging来获得。 不幸的是,帮助链接并没有帮到我很多,并导致了一大堆事情。 我检查了以下内容: 安全要求 – 我不记得以前有什么特别的事情要做。 IIS7中的工作进程是w3wp.exe。 它说,如果它运行ASPNET或networking服务我必须有pipe理员权限来debugging它。 我怎么知道我是否需要在这里改变一些东西? 网站属性页面>开始选项>debugging器> ASP.NET被选中。 使用自定义服务器被设置为网站的URL(没有debugging工作正常)。 在web.config启用debugging。 应用程序正在使用ASP.NET 3.5(我想最终移动到4.0,但我有一些迁移处理)。 应用程序池:分类.NET AppPool(也尝试DefaultAppPool)。 任何想法,我可以检查下? 当然不应该那么难安装IIS,VS,创build一个网站,并开始testing它? 提前致谢。

MemoryCache Empty:设置后返回null

我有一个使用新的.NET 4 System.Runtime.Caching MemoryCache的MVC 3应用程序的问题。 我注意到,在一个看似不可预测的时间之后,它停止了caching,而且是空的。 考虑一下我从ASP.NET MVC中的一个testing视图直接得到的代码: MemoryCache.Default.Set("myname","fred", new CacheItemPolicy() { SlidingExpiration = new TimeSpan(0,5,0) }); Response.Write(MemoryCache.Default["myname"]); 当它工作时,可预测的“fred”被打印出来。 但是,当问题开始发生时,尽pipeSet() , MemoryCache.Default["myname"]值为null。 我可以通过在Response.Write()行上设置一个断点来certificate这一点,并使用立即窗口直接设置和读取caching – 它只是不会设置它,并保持空! 唯一能让它再次运行的方法是导致AppDomain重复使用。 有趣的是,当应用程序正常工作时,可以通过打破Response.Write()行并运行MemoryCache.Default.Dispose()来激发问题。 之后,MemoryCache.Default本身不是空(为什么是这样?),但不会保存任何设置。 它不会导致任何错误,但不会保存任何内容。 有人可以validation这个并解释吗? 正如我相信我已经发现,当应用程序停止自己的工作, 一些是处置MemoryCache.Default ,但它不是我! UPDATE 那么,我现在已经厌倦了这个问题! CLRProfiler似乎不适用于MVC 3. SciTech的CLR工具很好 – RedGate ANTS也是如此。 但他们告诉我的是,MemoryCache对象正在被某种东西处置! 我也certificate了(通过打印时间戳)我的页面上的PartialView应该被caching(由OutputCacheAttribute指定)在几分钟后不会被caching – 它会在每次调用页面时开始刷新。 为了澄清环境,我直接运行在运行Win 7 Ultimate的开发工作站上的IIS 7.5服务器上。 上面提到的内存工具提示我只用了大约9mb的内存。 无奈之下,我已经改变了我的caching代码,首先search环境HttpContext挂钩并使用其cachingfunction,如果可用的话。 早期的testing显示这是可靠的,但感觉像一个讨厌的黑客。 我感觉到MemoryCache和OutputCache不能保证与MVC 3一起工作…

如何在ASP.NET中实现GZip压缩?

我想实现我的asp.net页面(包括我的CSS和JS文件)的GZip压缩。 我尝试了下面的代码,但它只压缩我的.aspx页面(从YSlowfind它) HttpContext context = HttpContext.Current; context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress); HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip"); HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true; 上面的代码只是压缩我的.aspx页面代码(标记)而不是作为外部文件包含的CSS和JS文件。 请告诉我如何在ASP.NET中使用代码实现GZip压缩(因为我在共享主机服务器上,无法访问IIS服务器configuration)。 而且在上面的代码中,我没有得到最后两行,为什么使用它们,以及这些行的目的是什么。 请解释! 谢谢

浏览器取消请求时出现ASP.NET Web API OperationCanceledException

当用户加载一个页面时,会发出一个或多个ajax请求,这些请求会触发ASP.NET Web API 2控制器。 如果用户导航到另一个页面,在这些Ajax请求完成之前,请求被浏览器取消。 我们的ELMAH HttpModule会为每个取消的请求logging两个错误: 错误1: System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext() — End of stack trace from previous location where exception was thrown — at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext() — End of stack trace from previous […]

“您正在请求的页面由于扩展configuration而无法提供服务”错误消息

试图运行我的应用程序时收到此错误消息。 我不知道如何解决它: HTTP错误404.3 – 未find您正在请求的页面由于扩展configuration而无法投放。 如果页面是脚本,添加一个处理程序。 如果文件应该被下载,添加一个MIME映射。 以下是错误页面的截图: 我能做些什么来解决这个错误?

存储/分配已authentication用户的angular色

我正在升级站点使用MVC,我正在寻找设置身份validation的最佳方式。 此时,我已经login到Active Directory:validation用户名和密码,然后设置Auth cookie。 如何在login时存储用户的angular色信息,以便我的控制器在用户浏览网站时看到这些angular色? [Authorize(Roles = "admin")] 从Active Directory获取angular色列表没有问题。 我只是不知道把它们放在哪里,以便控制器能看到它们。