Articles of asp.net

在Apache服务器上运行一个PHP网站

我有一个asp.net网站托pipe在Windows Server 2008中的IIS 7中运行完美,并托pipe在本地服务器上。 我只购买的域名没有托pipe因为该网站托pipe在本地和通过互联网公开访问。 所以,现在我已经创build了一个PHP网站,我想在Apache下主机,这是行不通的。 目前的asp.net网站可以通过https访问(端口443)。 我已经安装了Apache,并尝试在http(端口80)托pipe的PHP网站,这个网站是不是公开访问互联网。 我如何使这个PHP网站公开访问? 我试图改变端口,但似乎没有工作! 真的需要一些帮助。 多谢你们!

iis 7.5 http到httpsredirect不工作,导致错误

我有一个客户端,他在iis7.5中configuration了一个运行asp.net 4.0的站点。 该站点configuration了一个静态IP地址和一个有效的通配符证书,它的标头设置为通配符leavemanagement.co.za和www.leavemanagement.co.za。 客户端通过使用他们的公司名称作为子域名前缀来正确地访问应用程序以获得他们的login等。 我认为应用程序使用前缀作为身份识别的forms来返回正确的信息,一旦他们login。 因此,例如,您可以通过http://demo.leavemanagement.co.za或https://leavemanagement.co.za来获取您的login信息,如果您使用这两种方式中的任何一种,则该网站可以100%正常工作。 我试图使用各种web.config重写规则来自动切换到https自动,但它所做的是导致应用程序错误。 如下 Server Error in '/' Application. 你调用的对象是空的。 说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。 exception详情: System.NullReferenceException:未将对象引用设置为对象的实例。 源错误: 在执行当前Web请求期间生成未处理的exception。 有关exception的来源和位置的信息可以使用下面的exception堆栈跟踪来标识。 堆栈跟踪: [NullReferenceException: Object reference not set to an instance of an object.] Leave.Core.Security.FormsAuthenticationUserStateModule.PreSendRequestHeaders(Object sender, EventArgs e) +65 System.Web.SendResponseExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +137 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 我所尝试过的重写规则已经很多了,最后一个我们试过的是这个 <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match […]

如何从地狱撤消IIS7负载平衡器设置?

巨大的编辑/重写(还没有答复):这是太长,写得不好。 我所inheritance的神仙鱼 好吧,我有一个使用两台服务器的负载均衡器,我不知道有太多的事情要做,因为我是新来的,整个开发团队几个月前都走了,部分IT部门实际上已经开始部署忍者烟雾弹了,当我向他们询问的时候。 这个设置托pipe了我们为客户维护的一堆asp.net网站的所有开发和分期版本。 任何对这里发生的事情一无所知的人都离开了这座大楼。 我的经理也是新的。 这些服务器最明显的问题是辅助服务器无法访问互联网。 它显示它在6个月前更新。 在我发现之前,我甚至没有得到IISpipe理工具的反馈,而且arm上的服务器图标表明他们实际上不应该提供任何服务。 但是,如果你试图在一台服务器上添加一个文件,那么你肯定会得到一些东西。 如果两者都可以加载。 我设法通过启动并运行webfarm服务来解决反馈/日志logging问题。 我不知道有没有两个工作,他们都坠毁了。 有一次,我们的第三方IT部门运行了一些robocopy进程,它们在编辑时将主服务器上的文件复制到辅助服务器。 我不相信自从我到达这里以后,它一直在工作,而且我已经完成了一个我不能100%确定的过程。 我也有一些原因,很快就会出现,杀死了Web场设置中的所有应用程序和平台configuration。 我们正在将文件更改复制到两台服务器上,以便在我们的开发站点上查看它们,并且将文件复制到任一台服务器从来没有导致在我曾经在这里的几个月中在其他服务器上重复该更改。 没有版本控制的效果,我知道,我已经找它(是的,可怕)。 据我所知,平台和应用程序configuration从未正常工作,如果他们一直工作,打开/closures似乎没有任何区别。 我已经离开了他们。 这是它变得怪异的地方。 文件似乎偶尔恢复,但只有当您尝试进行更改。 好像有一个大约30分钟的窗口,没有任何问题,然后bam,如果手动移动一组文件更改,几个连续的,而不是你刚刚做出的修改,将会修改它们在主服务器上(可以访问互联网)。 我已经习惯于先复制到辅助服务器,因为它的文件似乎没有恢复,当从主要文件复制到次要文件时,复制将会发生,并且当你执行“次错误“ 办法。 我还注意到,即使我从网上服务器场中删除了辅助服务器,停止该服务器上的应用程序或者没有同名文件都会导致错误。 眼见这使我得出结论,现在是时候closures这个愚蠢的东西了。 经过一些试验和错误,我完全closures农场,并通过GUI删除整个设置。 我停止在中学运行的应用程序login到它并在那里杀死他们。 一切似乎都不过是从小学走出来的。 实际上,性能有了显着的提高,我观察到我可以在一台服务器上进行更改,而访问相同文件的两个客户端也可以加载它们(负载平衡器在这方面似乎并不复杂,如果两个客户端尝试访问相同的未初始化的文件)。 我只是一个客户端专门的网页/现在的通用主义开发人员,只是对RTFM的这些东西有足够的知识,并得到启动和运行。 这感觉像是一个辉煌的胜利。 大约30分钟。 然后,正如我开始吹嘘它,一切都到了地狱,我们的开发和分期应用程序的每一个打破了,并开始抛出同样的错误,我记得当我试图只是拉出农场的辅助closures(不止是一个404 IIRC)。 我匆匆重build了一个类似于旧的networking农场,并没有像第二天早上那样工作得很好。 承担: 我不能把它从轨道上摧毁(不知道那里还有什么可能是重要的 – 但我想我们可以把它全部倒过来)。 这最终可能是我们必须做的,除非有人确切知道这个batshit服务器的情况可能是什么。 我不打算把互联网连接起来,在辅助服务器上运行(我花了几天的时间 – 我开始怀疑硬件问题,我无法访问硬件)。 我没有IT资源,这些资源不是太忙,无能或可能害怕帮助我的组合。 我不想让networking农场工作,除非有一些呃! 这样做的方式将解决一切。 我想要它走了。 我只想要一个服务器和一个简单的configuration为我们所有的开发和中转站点,理想情况下超过30分钟。 硬件/操作系统/软件 东西,可能是旧的,因为每台服务器上有2个RAM 赢得服务器2008 R2,也在两个 IIS […]

表单身份validationredirect回login页面,除非应用程序池被回收

我们有一个使用基于表单的身份validation的asp.net web应用程序,我们遇到了IIS和身份validation问题。 你将能够进行身份validation,我只是想在这里猜一个小时,在那个小时后,当你尝试login它只会redirect到login页面。 我们发现,如果您手动回收应用程序池,问题将再次消失大约一个小时。 我指的是时间,但也可能是有多less人想要authentication。 我不确定它是否与虚拟内存或工作线程有关。 如果有人能帮助我解决这个问题,我将非常感激。

使用UNC与IIS ASP.NET 4.6.1共享

我有一些ASP.NET 4.6.2网站,我想从一个UNC共享运行。 我之所以这样做是为了实现IIS共享configuration,但作为第一步,我只是希望节点正常运行。 每个服务器(多个Web服务器和具有UNC共享的服务器)都是同一个域的成员,每个Web服务器的应用程序池在标准域“服务”帐户下运行,并且这些帐户具有对这两个帐户的读/写访问权限共享和底层文件夹/文件。 (我最初尝试以最小的权限运行,但没有奏效。)这些应用程序正在使用WS-Federation 声明,因此网站被设置为匿名 。 该网站几乎工作在MVC的意见和CSS样式表呈现,但其他静态内容,如图像和字体回来401未经授权 。 奇怪的事情之一(奇怪的事情之一 )是静态的CSS,图像和字体文件都在同一个 / Content文件夹,但CSS的作品。 我的想法是,即使应用程序池运行在具有适当权限的域帐户下,图像和字体静态内容也可以通过与用于应用程序池的帐户不同的帐户访问。 这似乎是由于CSS和JavaScript静态内容工作的缘故,因为它被捆绑在Web应用程序中,图像和字体可以直接由IIS提供服务。 另外,我使用每个Web服务器的Sysinternals Process Monitor来监视文件I / O请求。 令人费解的是,对于返回401的资源,我看到一些带有成功结果的请求,而对同一资源的其他请求返回拒绝访问 。 这两个请求都正在执行CreateFile操作, 这两个请求都以User设置为基于域的应用程序池帐户列出,但失败的请求在属性对话框中显示模拟:NT AUTHORITY \ IUSR 。 我甚至尝试添加每个具有共享和底层文件夹权限的Web服务器计算机帐户,但这没有什么不同。 我错过了什么?

SQL Server从ASP.NET应用程序奇怪的错误

我发布这个问题堆栈溢出,但无济于事。 在这里变得绝望。 所以我们在C#ASP.NET MVC5应用程序中出现了一个非常随机的错误(我的意思是,错误前面没有使用模式),这个错误发生在我们的生产环境中。 这个错误似乎只在用户login后才出现,整个系统崩溃,所有用户都无法访问,直到我们手动进入IIS8并重新启动Web服务器。 我们正在使用IIS的Windows Server 2012环境上运行SQL Server Express 2012 SP2。 错误信息如下: IndexOutOfRangeException/Account/Login Index was outside the bounds of the array. 堆栈跟踪如下: IndexOutOfRangeException·Index was outside the bounds of the array. Raw :0System.Data.SqlClient.SqlDataReader.CheckHeaderIsReady(Int32 columnIndex, Boolean permitAsync, String methodName) :0System.Data.SqlClient.SqlDataReader.IsDBNull(Int32 i) :0System.Data.Entity.Core.Common.Internal.Materialization.Shaper+ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal) :0lambda_method(Closure , Shaper ) :0System.Data.Entity.Core.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly(Func`2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet) :0lambda_method(Closure […]

aspnet JIT编译查杀服务器

我有Win2012-IIS服务器托pipe~25 aspnet / c#webapps每个,并存在与aspnet JIT /即时编译性能问题。 当JIT操作自动启动时,在代码部署之后,它使机器抓取。 我们还发现,有时候会随机循环(吃掉所有的cpu)。 这个问题起步较小,但随着每台服务器的应用数量的不断增加和程序的复杂性,情况变得更糟。 部署工作发生在工作时间,由于长时间停机或部署后的JIT进程导致两台机器死机,我们已经有一个主要的服务中断。 这些应用程序都是相同的产品,但他们使用不同的数据库,域和代码版本。 开发人员经常通过复制应用程序目录中的.Dll和其他文件来部署新代码。 这些机器拥有顶级的Xeon-E3或者i7-4x / 6x cpus,只需要足够的内存就可以运行所有的应用程序,每个应用程序大约需要700meg。

Azure应用服务具有较长的服务器响应时间

我最近将mvc-forum作为一个.net Web应用程序(应用程序服务)部署到了Azure,尽pipe本地一切正常,但我看到Azure的响应时间非常长。 我检查的第一件事是远程依赖(认为这可能是一个SQL问题)。 我在那边sc手but脚,但是最慢的请求的累积依赖时间大约为100毫秒。 我继续启用“失败的请求跟踪”,并设置我的web.config写一个日志,如果一个请求超过五秒钟。 我在那里确实有一些运气,但是我无法从中收集任何东西。 虽然总结指出,一个特定请求的总时间是5141毫秒,但我没有看到任何地方的跟踪延迟。 Time Taken 5141 msec 1. GENERAL_REQUEST_START SiteId="xxxx", AppPoolId="xxxx", ConnId="1610619243", RawConnId="0", RequestURL="xxxx", RequestVerb="GET" 22:37:50.337 2. PRE_BEGIN_REQUEST_START ModuleName="FailedRequestsTracingModule" 22:37:50.337 3. PRE_BEGIN_REQUEST_END ModuleName="FailedRequestsTracingModule", NotificationStatus="NOTIFICATION_CONTINUE" 22:37:50.337 4. PRE_BEGIN_REQUEST_START ModuleName="RequestMonitorModule" 22:37:50.337 5. PRE_BEGIN_REQUEST_END ModuleName="RequestMonitorModule", NotificationStatus="NOTIFICATION_CONTINUE" 22:37:50.337 6. PRE_BEGIN_REQUEST_START ModuleName="IsapiFilterModule" 22:37:50.337 7. FILTER_PREPROC_HEADERS_START 22:37:50.337 8. FILTER_START FilterName="D:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" 22:37:50.337 9. GENERAL_SET_REQUEST_HEADER HeaderName="AspFilterSessionId", HeaderValue="", Replace="true" 22:37:50.337 […]

首次发布到Azure

我在本地环境中创build了一个ASP.NET MVC / WebAPI 2 Web应用程序。 我使用LocalDb作为我的开发目的,我遵循EF“Code First”方法(我写了所有的模型类并在需要时运行迁移)。 在我的本地环境中,一切正常。 我认为在Azure上发布应用程序进行testing是一个不错的主意。 我已经创build了Web应用程序+ SQL实例,我可以连接到它们。 我设法发布网站的一部分,但不幸的是,我无法发布数据库。 例如,当我访问.azurewebsites.net,页面加载 – 但只要我尝试login,我得到一个错误说: Cannot find the object “dbo.Locations” because it does not exist or you do not have permissions 这告诉我,我的表没有成功迁移(即使我在“发布”向导中勾选了“执行代码优先迁移”)。 我一直在努力寻找2天的解决scheme,无济于事。 我见过很多人说我需要迁移到SQL Server本地,然后才能在Azure上工作 – 但是,我找不到一种方法将数据从LocalDb导出到SQL Server(即使在SSMS中我也找不到该选项)。 此外,我find了一个指南 – http://www.asp.net/mvc/overview/getting-started/database-first-development/creating-the-web-application-但是当涉及到数据库发布,它说只需右键点击数据库解决scheme并select“发布” – 我没有一个数据库项目/解决scheme – 对我来说,这只是一个mdf文件。 我对ASP.NET很新,所以我将不胜感激。 谢谢!

AspNetTempFiles被提前清除

感谢您看看这个。 我们正在尝试使用aspnet_compiler.exe在iis 8.5上运行我们的.Netnetworking应用程序来进行预编译。 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1/ROOT -errorstack 它正在生成文件到我们的网站的临时文件夹。 不幸的是,我们看到这些文件几乎一旦创build就会消失。 我以为这可能是由应用程序池回收造成的,但我们已经设定每天发生一次。 这里是我们web.config的编译元素。 <compilation debug="false" defaultLanguage="c#" targetFramework="4.6.1" numRecompilesBeforeAppRestart="5000" batch="true" optimizeCompilations="true" tempDirectory="C:\AspNetTempFiles"> 如果我的理解是正确的,那么当我们预编译我们的应用程序时,临时文件夹应该填满那些保留在那里的文件,以帮助第一次加载页面时的性能。 这些文件正在消失得如此之快,以至于在预编译阶段甚至会被删除,第一个页面总是需要很长时间来加载(这就是为什么我们开始考虑预编译的原因!) 我们已经在本地盒子上预编译了一个站点的副本,我们看到临时的AspNetTempFiles文件夹填充到大约10k个文件可用的地步。 但是,只要我们打开一个页面,这些文件中的大部分文件就会从文件夹中删除。 任何想法,为什么这些文件可能会被清除出应用程序池重新启动之前? 或者可能有一个原因,为什么一个循环被迫比正常速度更快? 再次感谢!