Articles of asp.net

停止fastcgi单服务器,网站内容更新,无需重新启动它

我最近用Mono 2.10.5玩了很多,.NET 4和MVC 3的视图很好。 我现在用nginx和fastcgi-mono-server4configuration我的网站。 尽pipe这个网站还没有被公众所知(而且直到达到一个理想的状态),我们已经testing了很多天,而且到目前为止,事情看起来一切正常。 所以,鉴于上下文,让我们来回顾一些令我疯狂的问题: 我可以更新我的网站的内容(例如dll的),而无需安全地重新启动fastcgi过程? 当我这样做的时候,有没有可能对我的访客造成严重的失败? 我如何优雅地停止fastcgi-mono-server? 我从http://yojimbo87.github.com/2010/03/14/mono-startup-script.html获取初始化脚本作为基础,但它只是杀死(发送SIGTERM)fastcgi-mono-server进程,而不是调用在Global.asax中的Application_End(这就是我的意思是非正常关机)。 SIGHUP也不起作用(尽pipe它也杀死了服务器) 此外,我无法find一个页面来跟踪新闻或单fastcgi服务器的状态,唯一的参考,我已经教会了我如何设置服务器和它的基本工作,但我没有想法在哪里寻找新的版本和更新日志(甚至是一个下载页面,到目前为止,我已经使用portage来安装fastcgi-mono-server附带的xsp软件包)。 我发现http://kerrick.wordpress.com/2007/08/,但在fastcgi单一服务器上的最后一篇文章是如此古老,它吓到我了。 如果我可以问最后一个问题,我如何才能以非特权用户的身份运行fastcgi-mono-server? 我不敢肯定这个过程,因为我不太确定mono是否会尊重setuid标志(还没有尝试过),最重要的是,我不确定fastcgi-mono-server是否需要root访问在某个时刻设置的东西。 我非常想在这方面尝试一些东西,但由于我找不到关于这个问题的任何文件,所以我还没有做任何事情。 显然,我很绝望,因为服务器是以root身份运行的! 先谢谢你!

ASP.NET请求队列的优先级

我在IIS 7和.NET 4.0上。 我的理解是,IIS接受请求并将它们传递给ASP.NET工作线程。 如果所有的线程都在使用中,请求进入一个队列,并在线程变得可用时进行处理。 如果队列超过一定的大小,则所有新请求都会得到一个503,直到队列中再次有空间。 有没有一种方法来优先处理排队请求的顺序? 例如,我有消费者stream量和基础设施stream量来到同一台服务器。 如果没有可用的线程,我希望消费者请求首先被服务,即使他们已经到达基础设施请求之后。 基本上我想用优先级队列replace请求队列。 这可能与IIS?

SQL Server 2012 Management Studio Express – 无服务器

我在SQL Server 2012pipe理工作室遇到问题。 没有服务器名称。 早些时候,我安装了2008版本,但有些东西不对,所以我卸载并安装了2012年。第二次安装时没有指示实例设置为默认值。 没有服务器名称。 本地和“。” 不工作。 请帮忙

从IIS 6升级到8.5:增加了并发请求

我们将Web服务器从Windows Server 2003升级到Windows Server 2012 R2。 有问题的Web应用程序针对ASP.NET 4.0运行。 Web应用程序又与第三方Web API进行通信。 升级后不久,Web API延迟增加,这反过来导致了显着的超时。 我怀疑,在IIS 8.5上,允许的并发请求数量增加,导致Web API无法处理的吞吐量增加。 然而: IIS 6不限制并发请求的数量。 帮助文件显示如下: 您可以configurationInternet信息服务(IIS)以允许无限数量的并发连接,或者限制它为此网站接受的连接数。 我们目前有这个设置为无限制。 IIS 6和IIS 8.5都使用ASP.NET 4,它也能够限制并发请求的数量。 在machine.config文件中,两个IIS版本都设置为auto-config; 由于两台服务器具有相同的处理器和RAMconfiguration,因此应该使用相同的设置。 当我们回滚升级时,不久之后的延迟就下降了。 不太可能是一个巧合,所以在其他一切保持不变的情况下,Windows 2012 R2或IIS 8.5必然会影响到Web API。 第三方Web API开发人员证实,他们的空间没有任何改变,不幸的是没有任何额外的信息可以收集。 我检查了IIS版本6和8.5的日志:每秒,每分钟和每小时的平均(和中值)请求表明有更多的请求在IIS 8.5上处理(我使用Log Parser Studio来分析日志)。 但是,没有任何迹象表明应该如此。 有没有人有任何见解或build议? 如果有设置控制这个,那么现在我希望Web应用程序在Windows Server 2003和2012 R2上的行为相同。

某些电子邮件提供商正在拒绝电子邮件

我有这个asp.net应用程序发送电子邮件。 SMTP服务器是iis6。 这些电子邮件是代表我们的应用程序用户发送的,而且他们有不同的域名。 大多数电子邮件提供商,如Gmail和雅虎,将接受电子邮件,但其中一些不是例如美国在线。 这是几分钟后用户从我们的SMTP服务器收到的消息: 主题:传递状态通知(失败)这是一个自动生成的传递状态通知。 由于无法成功连接到目标邮件服务器,无法将邮件传递给以下收件人。

在IIS 7.0上获取404.2错误

在使用Service Pack 2的Windows Server Standard服务器上尝试在IIS 7.0上查看我的新部署的应用程序时出现以下错误: HTTP错误404.2 – 未find由于Web服务器上的ISAPI和CGI限制列表设置,无法提供您请求的页面。 错误代码0x800704ec 我已经成功地在自己的桌面PC上部署了这个应用程序。 据我所知,我没有使用ISAPI或CGI。 即使请求一个简单而简单的ASPX页面,我也能得到这个结果。

主域和受信域之间的信任关系失败

场景:我们有一个应用服务器(IIS 7.0,Windows 2008 R2)和一个单独的数据库服务器(SQL 2008),用于我们的testing和生产环境(所以共有4台服务器)。 我们的应用程序服务器托pipe我们的定制ASP.Net 4.0应用程序。 我们使用Windows身份validation和模拟。 我们也实行了“双跳” ,一切工作都很好。 我们有4个应用程序在生产,他们都在星期五工作。 问题:今天开始工作,我们遇到Active Directory问题。 其中一个应用程序不是从Page.User.Identity中提取人员姓名,但这是另一个问题。 在这四个网站中,有两个网站是完美的,一个是我刚才提到的问题,但是在某些时候为某些人工作(真的是随机的)。 然而,另一个应用程序正在给我“主域和可信域之间的信任关系失败”。 每当我(或任何人)去。 它在testing而不是生产中起作用。 而且我不能在我的机器上重现问题。 关于这些应用程序,我可以看到唯一不同的是,这个应用程序使用的是站点地图。 网站地图正在用于屏幕左侧的菜单。 上周五,我试图了解应用程序如何处理来自不同域的用户,并打开了一些testing服务器端口以允许访问其他域控制器。 我们在这里有两个域,所以应用程序将需要为两个用户工作。 这些变化只是为了testing而不是生产。 我得到了我们的networkingpipe理员检查是否有任何东西被阻止当我去的网站,我们不能看到任何东西被阻止。 我与服务器位于同一个域,应用程序和数据库服务器位于同一个域中。 我正在耗尽的东西尝试…服务器说,它需要重新启动应用更新,你认为可能会影响它? 在过去的一个月左右,应用程序已经完美运行,服务器上没有任何改变。 提前致谢。 编辑:现在的问题是“固定”生产。 我删除了站点地图上的安全修剪,并删除了与之关联的angular色,问题就消失了。 我说“固定”,因为幸运的是只有一个AD组需要使用这个应用程序。 不过,我目前正在研究另一个需要使用安全修整的应用程序,以便只显示特定组的某些菜单选项。

asmx应用程序尝试不同文件时的服务器错误

现在,我试图恢复现有的IIS服务器(我有一个破碎的服务器的文件)。 select根后,几个ASP文件正常工作,但我有这个输出的应用程序 Parser Error Message: Could not load type 'WebService1.Global'. Source Error: <%@ Application Codebehind="Global.asax.vb" Inherits="WebService1.Global" %> 我想加载这个path: http://localhost/wsCriativo/wscriativo.asmx 但是它试图加载/global.asax文件并得到这个错误。 我必须说这些文件正在以前的服务器上工作,所以它必须是IIS的configuration问题。 信息:IIS 8.5,Windows Server 2012 x64

build立安全网站的最佳实践

去年秋天,当Jeff和StackOverflow团队在Hanselminutes进行了访谈时,Scott对于保护StackOverflow服务器的一些决定表示批评。 我的问题是,build议保护网站的方法是什么? 假设我正在单独的物理机器上开发一个带有SQL Server数据库的ASP.Net应用程序,我需要采取哪些步骤来保护我的环境免受攻击?

在IIS7中将.NET Framework版本更改为4.0后发生500内部服务器错误

我刚刚在Microsoft Technet 指定了应用程序池的.NET Framework版本(IIS 7)说明,在IIS7pipe理器中更改了我的.NET Framework版本的应用程序池。 现在,当我尝试重新上传我的ASP.NET页面时,它显示了一个500 – 内部服务器错误。 我已经尝试在.NET 2.0(x86,x64,AnyCPU)和4.0(x86,x64,AnyCPU)上载它,并且所有内容都出现相同的错误。 这是错误给我的所有细节:“您正在查找的资源存在问题,并且无法显示。” 当在服务器上保持.NET 2.0版时,它工作得很好。 另外,当上传index.htm ,它也可以正常工作,它只显示HTML页面。 顺便说一句,这是在Windows Server 2008 R2上。 编辑: 我终于find了如何得到错误的细节。 他们来了: 处理程序"PageHandlerFactory-Integrated" "ManagedPipelineHandler"在模块列表中有一个错误的模块"ManagedPipelineHandler" 。 最可能的原因: 使用托pipe处理程序; 但是,ASP.NET未安装或未完全安装。 处理程序模块列表的configuration中存在印刷错误。 你可以尝试的东西: 如果您使用托pipe处理程序,请安装ASP.NET。 确保处理程序模块的名称已正确指定。 模块名称区分大小写,并使用格式modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 我相信我已经完全安装了ASP.NET。