我通过ApplicationHost.CreateApplicationHost方法托pipeASP.NET运行时。 当我在应用程序运行时修改web.config时,我看到很多第一次抛出ThreadAbortException的机会。 这是在我的应用程序崩溃之前。 我假设这是因为运行时检测到configuration的变化,并希望重新启动。 对于我们来说,这不是一个真正的支持场景,所以我更喜欢如果我可以closures自动重新加载。 有谁知道如何做到这一点?
很明显,我错过了一些东西,我无法在IIS 7上的Windows Small Business Server 2008上部署简单的ASP.NET MVC 4,.NET 4.5应用程序。 .NET框架4.5安装。 我应该在应用程序的应用程序池基本设置上看到该版本(4.5)吗? 在这个时候,我只有2.0和4.0,因为4.5只是在4.0框架的顶部添加了3.5,我猜这是正常的。 当我浏览主页时,出现以下错误: 403 – 禁止:访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。 当我请求名为Page / page / index的唯一控制器时,我得到404找不到页面。 像ASP.NET过程一样,不要获取http请求。 我可以请求一个简单的HTML页面。 应用程序池设置为.NET 4.0,并作为托pipepipe道模式集成。 NETWORK SERVICE具有对目录的读/写访问权限。 当然,应用程序从VS2012完美地工作。 我对这里不合适的东西毫无头绪,而search引擎查询没有什么帮助。 有没有人会有一个提示,这将是非常感激的。 谢谢 编辑 这些DLL已经在System.Web.Mvc,System.Web.Razor等bin文件夹中。 我创build了一个空的test.aspx页面,以确保asp.net工作进程获取请求,是的,页面是确定的。 所以看起来,MVC路由不起作用,虽然我有ASP.NET MVC 3的Web应用程序在该服务器上正常工作。 .NET 4.5安装后,我做了一个aspnet_regiis -iru的情况下,该应用程序添加一个aspnet_client文件夹,但仍然不能解决这个问题。 匿名身份validation在IIS身份validation部分启用,授权显示允许所有用户。 安装ASP.NET MVC 4,我只是做了一个修复,以确保。 尽pipe安装了ASP.NET MVC 4,但请求/ page / index操作的404错误是由标准IIS返回的,而不是标准的aspnet错误。 所以看起来像MVC 4框架没有正确安装,我只是仔细检查和修复。 我在哪里可以继续调查? @Mystere人,我已经改变了匿名身份validation使用应用程序池的身份,停止,启动应用程序,仍然是相同的错误。 […]
我试图从第三方build立一个应用程序,这需要在我的本地IIS托pipe的支持网站。 我已经完全按照他们的安装指南中的说明创build了一个网站,但是遇到了一些问题,并希望看到IIS日志有什么要说的。 尴尬的是,问题是我找不到日志文件! 所以我的问题是:IIS7在哪里默认存储日志?
我刚刚从Win2003上的IIS6移到Win2012上的IIS8来托pipeASP.NET应用程序。 在我的应用程序的一个特定的文件夹中,我需要创build和删除文件。 将文件复制到新服务器后,当我试图删除文件时,我一直看到以下错误: 访问path“D:\ WebSites \ myapp.co.uk \ companydata \ filename.pdf”被拒绝。 当我检查IIS时,我发现应用程序正在DefaultAppPool帐户下运行,但是,我从来没有在此文件夹上设置Windows权限以包含IIS AppPool \ DefaultAppPool 相反,为了阻止尖叫客户,我授予了文件夹的以下权限: IUSR 阅读并执行 列出文件夹内容 读 写 IIS_IUSRS 修改 阅读并执行 列出文件夹内容 读 写 这似乎奏效了,但是我担心已经设置了太多的权限。 我在网上阅读了冲突的信息,关于IUSR是否真的需要在这里。 任何人都可以澄清哪些用户/权限就足够创build和删除该文件夹上的文件吗? 另外,IUSR是IIS_IUSRS组的一部分吗? 更新和解决scheme 请参阅下面的答案 。 我不得不这样做,因为最近的一些build议没有经过深思熟虑,甚至是安全的(IMO)。
背景 我试图帮助一个同事debugging过去6个月没有问题的问题。 在最近部署ASP.NET MVC 2应用程序FileResult ,强制用户打开或保存PDF文件的FileResult响应在客户端计算机上存在足够长的时间, FileResult PDF阅读器无法打开它们。 IE的早期版本(特别是6)是唯一受影响的浏览器。 Firefox和Chrome以及更新版本的IE(> 8)都按预期行事。 考虑到这一点,下一节将定义重新创build问题所需的操作。 行为 用户单击一个指向一个操作方法的链接(带有href属性的普通超链接)。 操作方法生成一个表示为字节stream的PDF。 该方法总是重新创buildPDF。 在action方法中,头文件被设置为指示浏览器如何caching响应。 他们是: response.AddHeader("Cache-Control", "public, must-revalidate, post-check=0, pre-check=0"); response.AddHeader("Pragma", "no-cache"); response.AddHeader("Expires", "0"); 对于那些不熟悉标题的人来说: 一个。 caching控制:公共 指示响应可以被任何cachingcaching,即使它通常只在非共享caching中是不可caching或可caching的。 湾 caching控制:必须重新validation 当高速caching接收到的响应中存在must-revalidate指令时,该高速caching不应该在该条目失效之后才使用该条目来响应后续请求,而不必先用源服务器对其进行重新validation C。 caching控制:预先检查 (与IE5一起引入) 定义以秒为单位的时间间隔,之后必须检查实体的新鲜度。 在用户显示资源之后可能会发生检查,但确保在下一次往返中,caching副本将是最新的。 d。 caching控制:后检查 (与IE5引入) 定义以秒为单位的时间间隔,在此之前必须检查实体的新鲜度,然后向用户显示资源。 即 Pragma:no-cache (确保向后兼容HTTP / 1.0) 当请求消息中存在no-cache指令时,应用程序应该将请求转发给原始服务器,即使它具有正被请求的caching副本 F。 过期 Expires实体标题字段给出了响应被认为是陈旧的date/时间。 我们从操作中返回文件 return File(file, […]
我安装了DotNetOpenAuth SDK-3.4.5.10201.vsix,我无法得到它的工作。 它在本地工作(当我作为localhost运行),但是当我尝试发布它不工作。 我得到的IIS错误消息是 错误摘要 HTTP错误500.22 – 内部服务器错误 已检测到ASP.NET设置不适用于集成pipe理pipe道模式。 和 Module ConfigurationValidationModule Notification BeginRequest Handler StaticFile Error Code 0x80070032 那么如何解决这个问题有一些build议: 你可以尝试的东西: 将configuration迁移到system.webServer/modules部分。 您可以手动或通过命令行使用AppCmd来执行此操作 – 例如, %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/" 。 使用AppCmd迁移您的应用程序将使其能够在集成模式下工作,并继续以经典模式和以前版本的IIS工作。 如果您确定可以忽略此错误,则可以通过将system.webServer/validation@validateIntegratedModeConfiguration设置为false来禁用它。 或者,将应用程序切换到经典模式应用程序池 – 例如, %SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool" 。 只有在您无法迁移您的应用程序时才能执行此操作。 (将“默认网站”和“经典.NET AppPool”设置为您的应用程序path和应用程序池名称) 但问题是我没有访问ISS服务器,因为我不是它的主人。 有什么办法可以解决这个问题吗?
我有一个ASP.net应用程序,用户无法成功地完成某些操作,原因是,我假设,只能关联到失去他们的会话(这是我维护他们当前的用户信息,以及如何确定是否他们已经login) 我不知道为什么他们会失去他们的会议,所以我的第一个问题是: 什么(一般)会导致用户在ASP.net中失去他们的会话? 而且由于我不知道用户何时丢失会话,并且不能自己复制: 我如何跟踪用户丢失会话的时间 以下是我的sessionStateconfiguration参考 <sessionState mode="InProc" cookieless="false" cookieName="My.Site.Com" timeout="480"/>
以任何方式configuration服务器并不是我的强项。 我正在尝试将开发项目移到Windows 7.我需要运行该应用程序的一个方面是selectASP.NET v4.0作为IIS中的应用程序池。 我浏览了以下链接中的说明,以确保select了正确的应用程序开发选项: http://www.gotknowhow.com/articles/how-to-install-iis7-and-enable-aspnet 在IISpipe理器中 ,我select“ 应用程序池”并只能看到 – 经典.NET AppPool – DefaultAppPool 我需要也能够从中select – ASP.NET v4.0 – ASP.NET v4.0 Classic 我如何将这些添加到可用的应用程序池列表中?
我正在尝试做一些我认为会相当简单的事情。 获取IIS 7告诉客户,他们可以caching我的网站上的所有图像一段时间,比如24小时。 我已经尝试了http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx上的步骤,但无济于事。 我仍然得到请求去服务器与304s被返回。 有没有人有办法做到这一点? 我有一个graphics密集的网站,我的用户每次请求一个页面时都会受到攻击(我的服务器也是如此)。 图像似乎有“caching控制私人,最大年龄= 3600”出现在Firebug中,但浏览器仍然请求他们时,我按F5。
在一个J2EE应用程序(如WebSphere中运行的应用程序)中,当我使用System.out.println() ,我的文本转为标准输出,由WebSpherepipe理控制台映射到文件。 在ASP.NET应用程序中(如在IIS中运行的应用程序), Console.WriteLine()的输出在哪里? IIS进程必须有一个stdin,stdout和stderr; 但stdout映射到Windows版本的/ dev / null或我缺less一个关键的概念吗? 我不问是否应该在那里login(我使用log4net),但输出到哪里? 我最好的信息来自这个讨论 ,他们说Console.SetOut()可以改变TextWriter ,但它仍然没有回答关于控制台的初始值是什么的问题,或者如何设置它在config /运行时码。