Tag: iis

如何从作为管理员用户运行的C#代码重新启动IIS?

通常(在Windows 7中),安装程序将要求修改系统的权限。 作为管理员,我可以在不提供密码的情况下授予授权。 我正在试图弄清楚如何从作为AN管理员的用户运行的C#代码中采取管理员操作(重新启动IIS),而不是“管理员”帐户。

覆盖应用程序根URL真的有什么作用?

整个互联网上唯一的地方我可以在MSDN上找到解释: 指定应用程序根URL的备用路径。 如果Web应用程序根目录不是项目的根目录,请使用此选项。 从这里我理解“应用程序根”是在ASP.NET中使用波浪号时检索的路径。 所以我希望如果我去项目的属性 – Web – “覆盖应用程序root”并指定另一个url,那么代字号将映射到该url。 但事实并非如此。 例如,我的Web位于虚拟目录 – http://localhost/WebApplication1和“覆盖应用程序根”上我尝试指定http://localhost/WebApplication2或http://localhost或http://WebApplication2 (全部存在于我的本地IIS)。 现在我写的时候 Response.Redirect(“~/test2/login”); 我希望它能将我重定向到http://localhost/WebApplication2/test2/login 。 但它改为将我重定向到http://localhost/WebApplication1/test2/login ,就像我没有覆盖“应用程序根”一样。 那么这个function真的应该做什么呢? 或者也许它不起作用,因为我遗漏了一些东西并没有正确定义它?

preCondition =“managedHandler”如何为模块工作?

在阅读了有关集成管道的一些文档之后,我很困惑IIS如何确定何时运行托管模块,托管请求实际是什么,以及如何确定,例如: http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/aspnet-integration-with-iis http://blogs.msdn.com/b/tmarq/archive/2007 /08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx 多次提到“管理”请求。 在一个实例中,解释了托管请求是具有到托管处理程序的映射的请求。 还有一句话说处理程序是一个“特殊”模块(第二个链接)。 模块被描述为针对每个请求运行的东西,并且处理程序具有指定何时应该运行的映射(例如,针对* .aspx的HTTP GET)(第二和第一链接)。 此外,对于模块,execute_request_handler [我假设作为处理程序实际运行的点]来自管道的几个阶段(在begin_request,authenticate,authorize等之后……),它意味着有一个步骤在所有这一切发生之前,确定请求是针对托管处理程序,以便在请求不是托管处理程序时禁用具有preCondition =“managedHanlder”的模块的执行。 我觉得这里有一些我不知道的东西,有人可以解释一下preCondition =“managedHandler”是如何工作的吗?

从c#代码获取IIS中的请求数

我希望获得IIS当前在C#中以编程方式排队的请求数。 我也希望得到CPU的使用率…… 谁能指出我正确的方向?

肥皂错误:“服务器无法处理请求”“对象引用未设置为对象的实例”

当我在本地IIS中向我的服务发送SOAP请求时,一切正常。 当我将SOAP请求发送到在另一台主机上的IIS上运行的同一服务时,一切正常。 但是当另一个程序员向我的服务发送SOAP请求时,他通常会得到正确的响应,除了返回的服务中的一个方法: soap:Server Server was unable to process request. —> Object reference not set to an instance of an object. 我需要理解为什么他会收到这个错误。 他的SOAP请求与SOAP Request完全相同,但我的工作却没有。

如何将IIS应用程序池标识用户区域设置为ApplicationPoolIdentity时,如何设置它

澄清标题。 在IIS中创建应用程序池时,请为其指定名称。 然后,您可以将身份设置为ApplicationPoolIdentiy。 Windows然后创建这个你看不到的神奇用户。 假设应用程序池名称是MyTestAppPool,那么您最终会得到一个名为MyTestAppPool的用户(IIS AppPool \ MyTestAppPool) 发生这种情况时,Windows使用服务器当前区域设置。 让我们说当时是美国。 然后你将它改为英国。 虽然有一个副本,但这并没有复制到我发现的这些魔术用户。 因此,当您的MyTestAppPool设置为US时,您的服务器将设置为UK。 因此,当网站运行并且您需要在正确的区域设置中将某些内容格式化为货币时,由于AppPool而非英国货币,您最终会使用美元。 有没有办法更改AppPool用户的区域设置? 我找到的唯一方法是删除应用程序池并在将服务器区域设置设置为所需后再次重新创建它。 如果我不想那样做怎么办? 如果我需要在不同的语言环境中运行多个网站,如何在创建apppool之前将AppPoolIdentity用户区域设置为其中每一个而不必将服务器更改为我想要的内容,该怎么办?

通过C#代码启动和停止远程计算机上的IIS

我需要在远程计算机上停止IIS,然后执行一些工作,然后在完成工作后再次启动IIS服务。 我试图使用C#代码执行此操作。 我已经看到一些关于通过代码在远程机器上启动IIS的类似问题。 但我无法从中获得任何有效的解决方案。 关于如何进行启动和停止操作的一些明确的C#代码将非常有用。

登录失败:未知的用户名或密码错误? 但我使用正确的用户名和密码

我想在远程服务器中连接xml文件。 我写了这样的代码: string XMLPATH = @”\\10.222.54.141\c$\Data\CL\Casinolink30\BuildFiles\Logging\980\NoLog4NetFile.UnitTest.Tests.nunit-results.xml”; FileWebRequest request = (FileWebRequest)FileWebRequest.Create(XMLPATH); request.Credentials = new NetworkCredential(“administrator”, “Igtcorp123”); FileWebResponse response = request.GetResponse() as FileWebResponse; Stream stReader = response.GetResponseStream(); XmlTextReader reader = new XmlTextReader(stReader); int count = 100; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.Name == “test-case”) { //Console.WriteLine(“testcase name:” + reader.GetAttribute(“name”)); Console.WriteLine(“testcase info”); Console.WriteLine(“name: ” […]

请求在Azure AppService中排队,尽管它在线程池中有足够的线程

我使用asp.net webapi编写了一个api,并将其部署在azure中作为Appservice。 我的控制器的名称是TestController,我的动作方法类似于波纹管。 [Route(“Test/Get”)] public string Get() { Thread.Sleep(10000); return “value”; } 因此,对于每个请求,它应该在返回字符串“value”之前等待10秒。 我还编写了另一个端点来查看threadpool中用于执行请求的线程数。 这个动作就像吼叫一样。 [Route(“Test/ThreadInfo”)] public ThreadPoolInfo Get() { int availableWorker, availableIO; int maxWorker, maxIO; ThreadPool.GetAvailableThreads(out availableWorker, out availableIO); ThreadPool.GetMaxThreads(out maxWorker, out maxIO); return new ThreadPoolInfo { AvailableWorkerThreads = availableWorker, MaxWorkerThreads = maxWorker, OccupiedThreads = maxWorker – availableWorker }; } 现在,当我们同时向Test / Get端点发出29次调用时,所有请求都需要大约11秒才能成功。 因此服务器在11个线程中同时执行所有请求。 […]

ASP.NET Core Routing适用于VS IIS Express,但不适用于IIS 10

我正在开发ASP.NET Core Web API。 在这里我有一种情况,我必须使用多个get函数从SQL Server DB获取数据。 所以,为此,我正在做自定义属性路由。 以下是我的代码 [Route(“api/[controller]”)] public class MeController : Controller { private readonly ITechRepository _tech; private readonly IPageOptions _page; public MeController(ITechRepository tech,IPageOptions page) { _tech = tech; _page = page; } [Route(“getTech”)] public IEnumerable Get() { return _tech.getAll(); } [Route(“getOptions”)] public IEnumerable getOptions() { return _page.getOptions(); } //GET api/values/5 [HttpGet(“{id}”)] […]