Tag: iis

找到网站的主机头值?

如何找到将在IIS中提供的网站的主机头值? 我只想在浏览器中显示该主机头名称。 我怎样才能获得这个价值?

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

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

来自c#的PInvoke c ++ dll – 尝试加载格式不正确的程序。 (HRESULTexception:0x8007000B)

尝试使用Dll Import从c#访问旧的c ++ dll。 现在四天在网上搜索aprox 4天没有成功。 我正在尝试使用asp.net mvc 3网站.net 4中的c ++ dll。 我已将平台目标更改为x86。 我在iis中的应用程序池中将“启用32位应用程序”设置为true。 将Windows Server 2008 R2与iis 7.5配合使用 有没有办法调试这个或获得有关可能出错的更多信息? ASP.NET P / Invoke链接“尝试加载具有不正确格式的程序”指出: “要使用32位dll,您的Web应用程序必须以32位模式运行,这通过将IIS切换为以32位模式运行来完成”,并提供有关如何更改此内容的链接,但这似乎只涉及IIS 6和asp.net 2 提前致谢! 最好的祝福 编辑1:在c#中错误地声明c ++方法调用会导致此错误吗? 读错误可以猜测,调用具有3个参数的函数应该接收4将导致此错误。

IIS / .Net仅允许对给定用户会话进行单个并发响应

这是我的问题: 我们有一个.Net 4.5 Web表单应用程序。 由于服务器端的大量数据访问和操作,应用程序中的某些页面需要很长时间才能加载。 如果用户在页面完成加载之前关闭其浏览器选项卡,并打开新选项卡,则对新应用程序中的应用程序的任何请求将挂起20分钟或更长时间,或者只是超时。 但是,如果他们打开新的隐身窗口(Chrome)或其他浏览器,他们可以立即连接。 我相信这是因为.Net按顺序处理来自同一会话的并发请求,如下所述: ASP.NET会话状态概述 并发请求和会话状态对ASP.NET会话状态的访问是每个会话独占的,这意味着如果两个不同的用户发出并发请求,则同时授予对每个单独会话的访问权限。 但是,如果对同一会话发出两个并发请求(通过使用相同的SessionID值),则第一个请求将获得对会话信息的独占访问权。 第二个请求仅在第一个请求完成后执行。 (如果由于第一个请求超过锁定超时而释放信息的独占锁定,则第二个会话也可以访问。)如果@ Page指令中的EnableSessionState值设置为ReadOnly,则只读请求会话信息不会导致会话数据的独占锁定。 但是,会话数据的只读请求可能仍然必须等待由会话数据的读写请求设置的锁定才能清除。 我在研究这个问题时发现的一些post曾暗示(但未确认)当浏览器选项卡在响应完成之前关闭时,会话“卡住”并且不会响应来自同一会话的新请求直到该集合SessionTimeout期限已过。 我的假设是,接受来自隐身窗口的请求,因为它有一个新的会话。 除了等待超时之外,有没有人知道将会话释放到新请求的任何方法? 有没有办法检测客户端不再监听? 我发现Response.IsClientConnected ,看起来很有希望,但我不确定如何使用它。 注意:这是一个包含大量业务逻辑的遗留应用程序,当前条件不允许此时重写的时间或预算。 因此,建议“只是重新编写页面以便加载更快”并不是立即可行的,尽管我承认这确实是最好的解决方案。

慢WebClient.DownloadString?

我正在使用ASP.Net 3.5运行的Web应用程序 在应用程序的某个地方,我正在调用外部系统。 此调用包括从特定URL下载字符串: string targetUrl = BuildMyUrl(); WebClient wc = new WebClient(); string data = wc.DownloadString(targetUrl); 此代码在可接受的响应时间(低于500毫秒)下运行良好。 但是,在特定情况下,此响应时间超过15秒。 我可以重现行为,我可以清楚地看到长时间是在DownloadString调用。 我不明白为什么在我的场景中会发生这种情况 。 你会说:“嘿,这是目标系统很慢”。 但我无法重现我的应用程序之外的行为(我已经构建了一个隔离错误代码的小型控制台应用程序。永远不会遇到任何问题)。 我现在不知道在哪里了解这个问题。 什么会导致简单的下载数据冗长? 仅供参考:目标系统是身份validation服务。 目标url是实物: http S :// mysystem / validate?ticket = XXXYYY 也许https协议是个问题。 在IIS下使用WebClient类是否可以改变WebClient的行为? [编辑]我试过了: 要将WebClient对象的Proxy属性显式设置为null 我用这段代码替换了DownloadData调用: var req =(HttpWebRequest)WebRequest.CreateDefault(new Uri(targetUrl)); using(var response =(HttpWebResponse)req.GetResponse()){using(var sr = new StreamReader(response.GetResponseStream())){data = sr.ReadToEnd(); }} […]

如何找出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。 我无法进行远程调试工作,所以我在这里询问是否有人知道该怎么做。

如何为ASP.Net Web应用程序创建完整的安装程序

我通过ASP.Net C#和本地数据库在visual studio上编写了一个Web应用程序。 然后我想为这个Web应用程序创建安装程序,以便在目标PC上执行以下操作: 安装数据库的要求 在PC上安装IIS 将我的Web应用程序发布为IIS上的网站 注意 实际上,这个Web应用程序应该在由3台PC和一台路由器组成的LAN上运行。 其中一台PC应该是服务器,Web应用程序必须安装在该系统上,然后其他PC才能从局域网上的Web应用程序中使用。 更新 我从高级安装程序使用,安装工作正常。 但是当我在客户端系统中启动网站时,总是会收到此错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 validation实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:50 – 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。 这是我在web.config中的连接字符串:

ASP.NET MVC在发送状态为500的响应时显示错误页面

我在服务器中有以下操作: [HttpPost] public JsonResult SearchContracts(SearchViewModel vm) { List errors; if (IsValid(vm, out errors)) { return Json(service.Search(vm), JsonRequestBehavior.AllowGet); } else { HttpContext.Response.StatusCode = 500; return Json(new { Errors = errors }, JsonRequestBehavior.AllowGet); } } 在本地,它很棒。 当请求无效时,它返回带有错误的JSON,并且响应的HTTP状态代码为500 。 部署后,IIS将返回我这个着名的错误页面 ,而不是所描述的JSON。 这是web.config ,其中包含customErrors部分的详细信息: 我试过把它变成On但是都没有用。 我应该在哪里更改以停止接收那个丑陋的错误页面而不是我的美丽JSON? 编辑: 我将状态代码更改为400 ,现在我将文本Bad Request作为响应,而不是JSON:

在IIS上,应用程序无法打开SQL连接

我有一个如下所示的连接字符串: Server=.;Database=mydbname;Trusted_Connection=True; 当我使用Visual Studio(IIS Express)运行/调试我的应用程序时,这可以正常工作,但在IIS-8部署后,它会在打开连接时抛出exception: 用户’IIS APPPOOL \ mysite’登录失败。 我很困惑为什么会发生这种情况为什么IIS在数据库不需要的时候在中间添加用户以及为什么IIS Express不会发生这种情况?

调试本地IIS Web服务器上托管的ASP.NET MVC3应用程序

我已经设法使用本地IIS Web服务器来托管我的MVC3应用程序,我可以从托管它的机器调试它和所有东西。 – 但是,当我从另一台机器(我的Mac,在Parallels VM中运行我的Windows)发送请求时,我得到了预期的结果,但是调试器不会停在我的断点处! 我尝试添加Debugger.Break(); 我的行动,并崩溃w3wp.exe .. To,总结一下: 本地请求正在运行,可以调试。 外部请求正在运行,但无法进行调试。 在我的项目属性中,我设置了Use Local IIS Webserver , 未选中 Use IIS Express 。 我正在使用Visual Studio 2012 Professional。 该项目是基于Azure SDK的,附加的进程是WaIISHost.exe。