Tag: iis

IIS 7.x,添加启用HTTPS的站点:SiteCollection.Add(string,string,string,byte )重载

我需要以编程方式添加一个IIS 7.x站点,当我应该使用HTTPS / SSL绑定创建默认情况下,usig SiteCollection.Add(string,string,string,byte [])重载时,我会陷入困境。 将https:*:80:test.localhost https:*:443:test.localhost作为bindingInformation引发带有此消息的ArgumentException: 指定的HTTPS绑定无效。 这个绑定信息有什么问题? 谢谢。 编辑 : 我正在使用Microsoft.Web.Administration程序集。

会话变量由于某种原因而丢失

我试着建立一个电子商店。 在每个项目旁边我有一个asp:imagebutton当点击这个图像按钮我正在检查会话varialbe session[“basket”]存在,如果没有,那么我在列表中添加值(实体类)并且我添加会议中的此列表。 如果会话不为空,那么我将会话中的值检索到List并更改列表,然后将列表添加回会话。 问题: 出于某种原因,我突然松开了会话变量。 我检查了我的手表(时间),这是不可预测的,有时它需要不到1分钟,有时3分钟,有时5分钟等…. 为什么我会松开会话变量? 我用谷歌搜索,我发现 – 如果您使用Response.Redirect – w / o false参数,或者如果您在UpdatePanel等中,则会发生这种情况。 我暂时在同一页面中丢失变量。 整个想法放在一个会话变量中,并在第二个aspx页面中检查并检索会话变量……但这并不总是有效,因为大多数情况下会话变量变为空。 有时它有效。 有人建议吗? 我需要检查什么和在哪里? 在一些网站页面(google)中,他们建议使用缓存,但缓存是基于应用程序的,因此每个人都将检索相同的值。 在我的页面中,任何用户(经过身份validation的用户或任何用户),换句话说,任何没有登录的用户都应该能够订购(我将发票发送到预先付款)…. 我不是在使用webfarm,也不是使用web garden …我只是检查了IIS – 网站 – 会话状态 – 它正在进行中,cookie设置=使用cookies,name = asp.net_sessionid,time-out = 20 …. 请指教? 它是C# , ASPX 3.5 , IIS7.5 我的ASPX页面中没有PAGE_LOAD。 //我把sessoin = null的唯一地方是一个linkbutton,其余的我没有把null放在session [“basket”] …. protected void lnkDeleteAllSelected_Click(object sender, EventArgs […]

IIS 7.0中的html页面未经授权的访问错误

我使用的是VSTS 2008 + C#+ .Net 3.5 + IIS 7.0。 我创建了一个新的网站,并将一个html文件放入该目录。 当我在IIS管理器中使用浏览function浏览html文件时,我遇到了以下错误,任何想法有什么问题? BTW:我对未经授权的错误感到非常困惑,因为我在管理员帐户下运行工作进程。 从错误消息,我很困惑,为什么登录方法是匿名的,而不是使用管理员帐户? HTTP Error 401.3 – Unauthorized You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server. Module IIS Web Core Notification AuthenticateRequest Handler StaticFile […]

发现内存泄漏

我有一个Web应用程序,我使用很多不同的第三方组件,CMS,当然还有我的代码。 由于某种原因,我失去了内存exception。 脚本抛出exception:内存不足 我试图找出发生了什么。 这是我发现的: 我用50个线程运行测试来调用我的web应用程序的15页。 记忆似乎很好。 IIS进程仅使用400 MB的RAM 我在web.config中添加了一个空格,突然间我的IIS进程在30分钟内开始增长到超过GB。 Visual Studio无法拍摄我的内存快照,因为它太大了(真的吗?!)所以我安装了ANTS内存分析器,但它说我的应用程序只使用了大约300 MB IIS进程需要1 GB pY.png 几分钟后我停止了测试,但内存没有释放。 (ANTS探测器停止工作,所以我重新启动它) 它似乎并不是应用程序特别使用100-200MB内存,我正在为我的控制器使用输出缓存。 我不明白的是,为什么IIS消耗的内存一直在增长,哪些是错的 更新 我的应用程序已自动重启,W3WP崩溃导致IIS释放内存,而我的压力没有运行一段时间: 应用程序:w3wp.exe Framework版本:v4.0.30319描述:由于.NET运行时在IP 5A3A86F1(5A0F0000)中出现内部错误,退出代码为80131506,该进程已终止。 和 错误应用程序名称:w3wp.exe,版本:10.0.15063.0,时间戳:0xacce422f错误模块名称:clr.dll,版本:4.7.2098.0,时间戳:0x59028d36exception代码:0xc0000005错误偏移量:0x002b86f1错误进程id:0x50a4错误应用程序启动时间:0x01d2ee688f323893错误应用程序路径:C:\ WINDOWS \ SysWOW64 \ inetsrv \ w3wp.exe错误模块路径:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ clr.dll报告ID:4362ddc5-f8d7- 4441-8916-3830f9268b3a错误包全名:错误包相关申请ID: 更新2 我运行DebugDiag并且我已经对网站进行了压力测试,直到它消耗了大约3.5 GB的RAM。 Chakra是微软的图书馆。 所以现在我有2个问题。 是ChakraCore有泄漏还是正在使用/分配它? 如何定义哪个库? 2-它说27,000个分配。 这是否意味着内存中仍有27,000个或者其中一些可能被分配然后处理? 3-它仍然没有告诉我任何有关3GB消耗RAM的剩余部分。 它我总共只有600 […]

即使路径中有百分比编码的部分,我怎样才能可靠地获得实际的URL?

IIS和ASP.NET(MVC)在使用路径中具有%-encoding的URL时(而不是查询字符串;查询字符串很好) 有一些小故障 。 我怎么能绕过这个? 即如何获取所请求的实际URL? 例如,如果我导航到/x%3Fa%3Db并且(单独)导航到/x%3Fa%3Db /x?a=b – 它们都将.Request.Url报告为/x?a=b – 因为路径中的编码数据是报错了。

没有Owin的Asp.Net MVC 5?

Mvc 5似乎依赖于Owin,如果你想自己托管或在Mac上运行,那就太棒了。 但是我们假设我只想在IIS下运行,就像以前的版本一样,我对Owin提供的东西不感兴趣。 默认的“空白”mvc5模板使用owin和其他15个依赖项。 我已经尝试逐个删除软件包,但似乎网站不知道如何在不使用Owin的属性的情况下启动。 那么,如何在没有Owin的iis下获得ASP.net,mvc 5?

那么…… ASP.NET MVC和WebSockets?

我在MVC 3中有一个应用程序,我正在寻找添加WebSockets(后备到Comet)。 我研究了一下,我发现Comet部分很简单,我宁愿自己做。 只需AsyncControllers和一些非常简单的js就可以处理那些长期存在的ajax请求。 现在,就WebSocket而言,事情开始变得肮脏。 我看了几个库,但他们似乎主要建立了一个自己的Web服务器(因此需要另一个主机或端口),并在那里监听ws协议请求。 例如SuperWebSocket就是这种情况,一开始看起来很不错,但是这个“我是一个Web服务器”问题(当然这很好,但我宁愿避免)。 然后我看了“PingIt”或类似的东西,我现在找不到链接..,我确实在另一台计算机上有源。 这一个在mvc中的端点上运行,但我不太喜欢它处理事物的方式,比如它需要一个IDisposable对象并通过reflection器创建一个javascript片段,在客户端呈现,这是非常污染的他们的图书馆名称,我真的没有兴趣,加上它感觉很多东西被抛到了我想要的东西,这与我对如何呈现页面的观点有所不同(特别是现在我正在研究MVC,这意味着我可以编写干净,不引人注目的html页面)。 基本上我想要的是我的端点是这样的: domain.com/rt/comet domain.com/rt/socket 而不是 domain.com/rt/comet domain.com:81/ 那么:是否有可能在asp.net MVC应用程序的控制器中的端点上接收websocket连接(并进行握手和需要完成的任何操作),而不是在某处设置tcplistener? 这也可以帮助我保持我的彗星代码更接近我的websocket代码 我应该说我对整个彗星/ websockets事情都很认真,所以我真的不太了解(或任何)协议,我确实知道如何使彗星工作,但在websockets中却没有那么多,尽管我已经阅读并理解了基础知识以获得它的要点。 另外:请告诉我,如果我要问的是什么

Windows Azure的http重定向的最佳实践

我有一个名为azure的azure色网站: http://myapp.cloudapp.net 当然这个URL有点难看,所以我设置了一个将http://www.myapp.com指向azure url 的CNAME 。 一切都很好,直到这里,但有一个障碍。 http://myapp.cloudapp.net已泄露出来,现在被谷歌索引并存在于其他网站上。 我想将myapp.cloudapp.net的任何请求永久重定向到www.myapp.com的新家 我的网站是用MVC.Net 2.0编写的,因为这是一个azure色的应用程序,没有用于访问IIS的UI,所有内容都需要在应用程序代码或web.config中完成。 什么是设置永久重定向的简洁方法,如果它进入web.config或全局控制器?

从IIS 7/8中的静态内容中删除服务器标头

作为努力使我们的API和网站更安全的一部分,我正在删除泄漏有关网站运行信息的标题。 剥离标题之前的示例: HTTP/1.1 500 Internal Server Error Cache-Control: private Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/8.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Wed, 05 Jun 2013 00:27:54 GMT Content-Length: 3687 Web.config文件: 的Global.asax.cs: protected void Application_PreSendRequestHeaders() { Response.Headers.Remove(“Server”); Response.Headers.Remove(“X-AspNet-Version”); Response.Headers.Remove(“X-AspNetMvc-Version”); Response.AddHeader(“Strict-Transport-Security”, “max-age=300”); Response.AddHeader(“X-Frame-Options”, “SAMEORIGIN”); } 之后,对网站和API的所有调用都会返回更安全的标头,如下所示: HTTP/1.1 500 Internal Server Error Cache-Control: private Content-Type: text/html; charset=utf-8 Date: Wed, 05 […]

GoogleWebAuthorizationBroker无法从IIS主机运行

我使用以下代码使用Google .Net客户端库向Google进行身份validation。 public static void auth() { string clientId = “xxxxxx.apps.googleusercontent.com”; string clientSecret = “xxxxx”; string[] scopes = new string[] { “https://www.googleapis.com/auth/contacts.readonly” }; // view your basic profile info. try { // Use the current Google .net client library to get the Oauth2 stuff. UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = clientId, ClientSecret = […]