Tag: iis 7

如何使用C#从IIS获取当前的Worker Request列表?

我正在编写RESTful Web服务状态页面的代码。 我想知道是否有将IIS的当前请求转移到C#中。 我正在使用IIS 7.0,我想要的信息是在 IIS>工作程序> ASP.NET v4.0 >请求

IIS 7上的nHibernate,SQLClientPermissionException

我正在使用nHibernate开发一个MVC应用程序; 通过VS的内置Web服务器运行应用程序运行没有错误。 在localhost上设置并运行IIS7时,应用程序在调用System.Data.SqlClient.PermissionDemand后抛出SQlClientPermissionexception(SqlClient在内部调用它) 我已经启用了应用程序在完全信任下运行但它似乎不会影响结果。

如何找出iis7中404error handling程序中缺少哪条请求路径?

我想在iis 7中创建一个自定义error handling程序。 web.config httpErrors部分: web.config httpHandler来处理错误: Image404Handler c#代码: public void ProcessRequest(HttpContext context) { string requestpath; if (context.Request.QueryString.AllKeys.Contains(“aspxerrorpath”)) { requestpath = context.Request.QueryString[“aspxerrorpath”]; } else { requestpath = context.Request.Path; } // more code not really relevant here } 我无法弄清楚如何获取导致404错误触发的请求的路径。 在IIS 6中,Visual Studio 2008使用此路径将添加到查询字符串中的aspxerrorpath。 我无法进行远程调试工作,所以我在这里询问是否有人知道该怎么做。

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

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

如何检查是否已安装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的确切原因在哪里。 你能帮我解决这个问题吗?

在Microsoft.Web.Administration.Application对象上配置SSL?

我在解决如何以编程方式启用“需要SSL”复选框并使用Microsoft.Web.Administration在IIS应用程序中将“客户端证书”选项更改为“需要”时遇到了一些麻烦。 我发现网上的所有问题都与在网站上配置它有关,但我只需要为网站上托管的一些应用程序打开它。 有人有这方面的经验吗? 我试着这个开始: application.EnabledProtocols = “http,https”; serverManager.CommitChanges(); 但是我收到了一个错误: 文件名:\?\ C:\ Windows \ system32 \ inetsrv \ config \ applicationHost.config错误:无法写入配置文件 这很奇怪,因为根据我的阅读,我收集该文件维护IIS配置,但它在Windows中不存在(我无法在TextPad中打开),但它确实存在于命令提示符中,我可以more 。

获取我的Web应用程序的基本URL

是否可以使用Microsoft.Web.Administration.ServerManager获取IIS 7的基本URL? 通常这将是: http://localhost 但我需要以编程方式获得它。 如果我不能使用ServerManager ,最好的选择是什么?

自定义身份validation的HttpModule如何与Windows身份validation交互?

我正在尝试创建一个自定义HttpModule,它控制哪些用户可以查看网站。 我正在尝试利用Windows身份validation来执行此操作。 在单个页面上,我可能会这样做: if (HttpContext.Current.User.Identity.Name.Contains(“jsmith”)) { Response.Write(“You do not have the correct permissions to view this site.”); Response.End(); } 但是因为我想在应用程序级别更加可配置,我想使用HttpModule。 这是我对代码的开始: using System; using System.Web; public class CustomAuthHttpModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { context.BeginRequest += new EventHandler(OnBeginRequest); context.EndRequest += new EventHandler(OnEndRequest); } void OnBeginRequest(object sender, EventArgs e) […]