Tag: iis

尝试使用ServerManager获取应用程序池时出现COMException

当我尝试使用以下代码从远程服务器获取IIS应用程序池列表时 List appPools; using (ServerManager serverManager = ServerManager.OpenRemote(“XXX”)) { appPools = serverManager.ApplicationPools.ToList(); } 我得到一个例外: System.Runtime.InteropServices.COMException (0x800706BA): Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} from machine XXX failed due to the following error: 800706ba. 可能导致这种情况的任何想法?

将静态子域添加到网站的推荐方法是什么?

我想创建一些静态子域,如: mycategory.mydomain.com 在一个相当小的网站,并希望它指向该文件夹: mydomain.com/mycategory 没有在浏览器地址栏中显示此类重定向。 实现它的最简单方法是什么? 我可以在IIS设置,asp.net,C#代码等中执行此操作 我想有更好的方法然后在IIS中创建一些单独的站点 – 每个子域一个。

Process.Start权限 – 不会在iis7服务器上执行

我有一个使用asp.net模拟的网站(asp.net mvc),我使用web.config元素来破坏管理员用户: 我尝试通过Process.start执行一个进程(我试图启动一个.bat文件)。 我为iis管理服务启用了与桌面的交互。 我没有得到任何错误,但没有真正做到。 当我在本地执行.bat文件时 – 工作完美。

Kestrel + IIS反向代理RequestAborted未触发

我们有一个ASP.NET Core 2.x应用程序,它实现了自定义中间件,它充当另一个(基于Java)服务器/应用程序的代理。 此应用程序/中间件的客户端在服务器请求完成之前经常中止/取消其请求是很常见的。 我们已将此应用程序部署到IIS(作为反向代理)并在Kestrel上运行。 在Core 2.x之前,Kestrel有一个错误,导致HttpContext.RequestAborted始终为false ( 这里有其他相关问题)……这显然是在2.x中固定的(我已经能够确认)。 但是,似乎在Kestrel前面运行IIS时,它不会将请求中止转发到Kestrel,而RequestAborted 仍然总是为false 是否有任何方法可以使RequestAborted在此配置中工作(或者,如果没有,还是以其他任何方式检测它)? 简单的复制回购: https : //github.com/mikeomeara1/RequestAbortRepro UPDATE 这个评论似乎表明了一个已知的问题,但在很大程度上还不清楚 这个问题似乎也是相关的,但对我来说,它并不完全明显,它是直接相关的(至少它没有用这样的术语拼写)。 @spender – 如果我理解正确,标题比较就在这里 。 如果没有,请告诉我,我会告诉你任何你想看的东西。 茶叶似乎表明了一个已知的问题。 所以,问题是; 有办法解决这个问题吗? 我们刚刚经历了(一次非常痛苦的)1.1到2.x的升级,希望这个问题得到解决,让我们的服务器闯入另一个月/季度/年让我们非常关注这一点。 我们正在研究的系统在数量上大大增加。 因此,欢迎任何变通方法,黑客或疯狂的想法。

如何让msi覆盖旧文件?

我有一个标准的Visual Studio(2008)应用程序安装项目,它生成一个包含几个文件的msi。 但是我注意到:1)当msi安装并且某些文件已经存在时,它只是默默地忽略这些文件。 由于显而易见的原因,这是我不想要的行为。 2)当我卸载msi时,它不会删除我的主dll文件。 我该如何解决这两件事? 它们一起使我无法自动升级我的软件。

如何检查是否已安装IIS 6管理兼容性function?

使用VB.NET,C#或VBScript,如何检查运行IIS 7.x的计算机上是否已安装IIS 6管理兼容性function及其子function?

IIS7文件映射 – .asax,.ashx,.asap

IIS使我们能够配置Asp.Net文件映射。 因此,除了aspx之外,当请求具有以下文件扩展名时,IIS也会调用Asp.Net运行时: a).ascx – > .asmx扩展名用于请求用户控件。 由于无法直接访问用户控件,任何人都可以向用户控件发送请求的方式和原因是什么? b).ashx – >此扩展用于HTTP处理程序。 •但是为什么要直接请求.ashx页面而不是在配置文件中注册此处理程序并在请求具有某些(非ashx)扩展名的文件时调用它? •此外,由于可以注册几个Http处理程序,如果Asp.Net都使用ashx扩展,Asp.Net将如何知道调用哪个处理程序? •请求的ashx文件包含哪些内容? 也许是Http处理程序类的定义? •我知道如何在请求非ashx页面时注册Http处理程序,但是我们如何为ashx页面注册Http处理程序? c).asax – >此扩展用于请求全局应用程序文件 •为什么我们要直接调用Global.asax? •我假设在请求Global.asax时,会创建一个从HTtpApplication类派生的对象,除非这次没有进行网页处理? 感谢名单 问 – 除了Asp.Net能够请求global.asax进行编译之外,还有其他原因可以选择直接请求带.asax扩展名的文件吗? •ashx文件无需注册。 它们基本上是一个更简单的aspx,因为当你不需要整个页面生命周期时。 常用的是从数据库中检索动态图像。 因此,如果我编写一个Http处理程序,我应该把它放在一个扩展名为.ashx的文件中,而Asp.Net将构建一个HttpHandler对象,类似于它是如何从.aspx文件构建一个页面实例的? •如果黑客确实试图请求其中一个文件,您希望发生什么? 您当然不希望IIS将其视为文本文件,并将您的应用程序的源代码发送到浏览器。 Asp.Net可以像使用.cs,.csproj,.config,.resx,.licx,.webinfo文件类型一样。 也就是说,它使用IIS注册这些文件类型,以便它可以明确地阻止用户访问这些文件 •仅仅因为您不希望浏览器请求资源,这并不意味着您不希望asp.net引擎处理该资源。 这些扩展也是ASP.Net如何为网站模型站点选择要编译的文件。 但是为什么Asp.Net也不允许直接请求.cs,.csproj,.config,.resx,.licx,.webinfo文件? a)和c) – 据我所知,这些不会受到任何外部请求的处理 我的书声称这两个映射在IIS中 我感谢您的帮助 编辑: b).ashx扩展在配置文件中定义,它不是web.config,它在machine.config中 http://msdn.microsoft.com/en-us/library/bya7fh0a.aspx 为什么使用.ashx:区别在于处理.ashx的.NET类读取.ashx文件中的Page指令以将请求映射到该指令中指定的类。 这样就不必为每个处理程序在web.config中放置一个显式路径,这可能会导致web.config很长。 我认为Http处理程序类是在.ashx文件中定义的,但是扩展名为.ashx的文件只包含Page指令? 因为我不能100%确定我是否理解正确:假设我们要通过向IIS7发出请求来调用10个Http处理程序。 我假设每个Http处理程序都会有特定的.ashx文件 – >因此,如果对FirstHandler.asxh发出请求,那么将调用该文件中指定的处理程序? 再编辑: 我必须承认,我仍然对ashx扩展有点不确定。 我意识到通过使用它我们可以创建’hey.ashx’页面,其中Page指令将告诉在为’hey.ashx’发出请求时调用哪个类(Http处理程序) – 因此无需在Http处理程序中注册Http处理程序web.config中。 […]

由于stackoverflow导致应用程序崩溃

这个错误让我非常伤心。 我无法在Application_OnError中捕获此错误。 我能得到的唯一消息是事件查看器日志。 Application: w3wp.exe Framework Version: v4.0.30319 Description: The process was terminated due to stack overflow. Faulting application w3wp.exe, version 7.0.6001.18000, time stamp 0x47919413, faulting module nlssorting.dll, version 4.0.30319.235, time stamp 0x4da3fc88, exception code 0xc00000fd, fault offset 0x000020d4, process id 0x%9, application start time 0x%10. 我有一个非常大的应用程序,并且由于上述错误,我无法判断stackoverflow的确切原因在哪里。 你能帮我解决这个问题吗?

.Net MVC自定义错误页面在IIS8中不起作用

我有一个.NET MVC应用程序,我在使用IIS 8的服务器上运行自定义错误页面时遇到问题。在我的应用程序中,我正在捕捉并正确地抛出exception并在我的错误页面上显示一条消息,该页面是自定义的他们的违规行为。 当在调试中通过VS运行应用程序时以及在IIS(6.1)中的本地主机上配置站点时,这一切都在本地运行良好。 然后我将其部署到安装了IIS 8的服务器上。 最初我得到了令人讨厌的默认500错误页面: 默认500错误页面http://img202.imageshack.us/img202/1352/b8gr.png 在做了一点研究之后,我发现我可以将以下内容添加到web.config中,至少会把我的友好错误页面给我,虽然没有自定义文本: 我正在使用以下filter完成自定义错误消息: public class GlobalExceptionFilter : FilterAttribute, IExceptionFilter { public void OnException(ExceptionContext filterContext) { if (filterContext.HttpContext.IsCustomErrorEnabled && !filterContext.ExceptionHandled) { filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.StatusCode = 500; string controllerName = (string)filterContext.RouteData.Values[“controller”]; string actionName = (string)filterContext.RouteData.Values[“action”]; HandleErrorInfo info = new HandleErrorInfo(filterContext.Exception, controllerName, actionName); IControllerFactory factory = ControllerBuilder.Current.GetControllerFactory(); ErrorController newController = […]

错误:无法在服务器上启动调试

我使用visual studio 2010 mvc3设计和开发了我的网站。 我已从我的服务器复制了我的项目,在编辑数据库服务器名称后,我正在尝试运行我的项目。 但它显示错误: 无法在服务器上启动调试。 调试器无法连接到远程计算机。 这可能是因为远程计算机没有退出或防火墙可能阻止与远程计算机的通信。 请参阅帮助或协助“。 请帮我。 提前完成