Asp.net mvc 3 Azure上的空白页

Asp.net mvc 3 Azure上的空白页,asp.net-mvc-3,azure,Asp.net Mvc 3,Azure,我有一个在Azure中运行的应用程序(试用帐户)。到目前为止,一切都很好,只是部署时间很长(10-15分钟) 我最近做了一次部署,发现了很多奇怪的bug,我无法追踪。例如,如果我登录并因此创建了一个cookie(我使用FormsAuthentication),那么我从应用程序获得的只是一个空白页面,如中所示,绝对不会向浏览器发送任何内容。该应用程序在ASP.NET Web开发服务器、IIS Express甚至Azure Emulator中运行良好 可能是什么问题?搜索web没有多大帮助,只有几个

我有一个在Azure中运行的应用程序(试用帐户)。到目前为止,一切都很好,只是部署时间很长(10-15分钟)

我最近做了一次部署,发现了很多奇怪的bug,我无法追踪。例如,如果我登录并因此创建了一个cookie(我使用FormsAuthentication),那么我从应用程序获得的只是一个空白页面,如中所示,绝对不会向浏览器发送任何内容。该应用程序在ASP.NET Web开发服务器、IIS Express甚至Azure Emulator中运行良好


可能是什么问题?搜索web没有多大帮助,只有几个不相关的问题。

这可能是因为您将表单身份验证与多个实例相结合。您正在使用多个实例吗?如果是这样,你能:

  • 尝试将其更改为1个实例。这能解决问题吗
  • 尝试对web.config(配置machineKey)进行以下更改:
有些局部视图根本不渲染

你是说有些页面工作正常,而其他页面则不正常?如果你能指出一个什么有效,什么无效的模式,那就更好了?目前,请确保所有引用的程序集(默认.NET程序集和Windows Azure运行时除外)都已将“复制本地”设置为true。例如,MVC程序集被视为.NET的扩展,因此请将Copy Local设置为true。此外,还可以尝试使用Fiddler监视请求,以查看从服务器返回的内容

致以最良好的祝愿


徐明。

能否提供应用程序的链接,或者提供一些源代码

当你说“空白页”时,实际返回的是什么,404/500

您是否检查了IIS日志,或在代码中添加了一些跟踪信息


您是否尝试过使用该服务的ip地址而不是域名访问该服务?

我尝试登录该网站(如果我正确理解了其中的评论,则url为),但没有收到任何带有404状态代码的空白页面

然而,我发现了另一个问题。您的站点似乎不适当地实现了缓存。主页(触发登录的主页)本质上是动态的,它包含一个Expires头,设置为页面首次加载后5分钟。这意味着,在首次加载页面后的5分钟内,每次调用或重定向到该页面,都将从浏览器的缓存中提供服务

因此,在我登录到您的应用程序后,我被重定向回主页,看起来我没有登录。如果我在浏览器上强制F5刷新,那么页面将显示我已登录

如果我没有刷新,而是尝试再次登录(这是我在第一次尝试中所做的,因为第一次登录似乎不起作用),我会收到一个错误页面,其中显示以下消息:

很抱歉,服务器上出现错误。 五百

该页面看起来像是一个应用程序错误页面,即使它显示了500号,实际上也提供了HTTP 200


因此,虽然我不能100%确定这是否也是您所描述的问题的原因,但您应该从您的应用程序所服务的动态页面中删除Expires标头。

这一点很好。然而,这在过去不是一个问题;尽管如此,我还是会尝试这两种方法。不,这并没有解决任何问题,尽管我不希望它做任何事情,因为登录是一个问题,日志记录工作正常,cookie被另一个实例识别。实际上,在Azure中处理MachineKey是自SDK 1.3()以来自动完成的。因此,不需要手动步骤。但是,在升级时,新的机器密钥会传播到所有实例。要处理这种情况,可以使用有趣的,不知道的方法+1再次检查后,由于错误,未呈现局部视图;MVC和Azure程序集以及我使用的其他库都是本地复制的。-状态代码是404。如果我使用Azure cloudapp.net子域,也会发生这种情况;页面得到一个404,响应为空;favicon接收正常,因此它与MVC堆栈中断有关:更奇怪的是,它通过从Azure操作系统访问IP来工作;只是不是从外面;如果我登录,这种情况会发生在我的桌面、手机和任何浏览器上。请参见此处的屏幕截图:尝试注销,然后重新登录。奇怪的是,当我创建一个新用户时,最初我遇到了问题,现在我没有。我怀疑这与缓存有关,因为当我得到一个空白响应时,服务器日志会显示一个404代码,就像浏览器端的响应一样,但感谢您指出Expires头。@Mircachirea,也许在OpenID登录期间重定向到了一个不存在的URL?我使用雅虎登录。您使用了哪家供应商?如果不能够重现问题,就很难找到问题的根源。然而,乍一看,它似乎与Azure无关,而是与web应用程序本身有关。无论使用OpenID或OAuth(FB)登录,都会发生这种情况。我被重定向到以前所在的页面,该页面显示良好。如果我刷新我得到404没有返回(应该得到一个自定义404页)。这一切都可以在本地和其他主机上正常工作;我将在周末将其擦除,然后从干净状态重试。@Mircachirea,我尝试在登录后刷新,但一切正常。不管我做什么,我只是不使用404个HTTP状态代码的空白页。我可以得到自定义404页,你提到时,要求一个不存在的网址(如)。也许你这边有什么事。您是否使用代理或其他可能阻止某些请求的东西?没有。见鬼,我试着重新安装浏览器。这也发生在我的手机上。奇怪的是,在我昨天创建的帐户上并没有出现这种情况(虽然最初是这样),但在较老的帐户上仍然会出现这种情况,尽管它们之间没有意外的差异。