相关疑难解决方法(0)

Azure云服务Web角色网页无法加载

这很可能是一个非常长的帖子,试图完全解释我的Azure云服务的部署方式以及我已经尝试解决这个问题,所以请提前道歉并表示感谢.

Framwork:4.5.1
Azure SDK:2.5
Visual Studio:2013 Update 4

问题:

在我尝试加载网页时发布我的Azure Cloud Service时,浏览器将持续加载,从不显示页面或任何错误(没有Web错误代码或.Net错误).无论我是在远程IP还是从-cloudservicename-.cloudapp.net远程登录到Azure本身的VM之后尝试加载网站,这都是相同的行为.部署到Azure时,发布和调试配置都是这种情况.

但是,当在Azure模拟器上本地运行时,应用程序在调试和发布模式下都能正常运行.我的云和本地.cscfg文件之间没有区别,除了VPN配置的NetworkConfiguration部分.

Cloud Service从Visual Studio部署没有错误,我可以RDP到VM并打开IIS等没问题,网站配置和证书看起来很好.

我的应用程序

我的Azure云服务由两个角色组成,一个是托管网站的Web角色,另一个是运行各种后台作业的Worker角色.

这个项目已经有一段时间了,我过去已经从不同的机器上发布了几次迭代.这是我第一次从新的Windows 8.1笔记本电脑上发布,虽然这不应该有所作为.自上一版本以来,配置发生了很小的变化(一个连接字符串添加到角色中).唯一重大的变化是我升级到VS2013更新4(来自更新3)和Azure SDK 2.5(来自2.4).

如果需要,我可以发布配置文件,但是在部署确实有效的情况下,一切似乎都可以.

调查:

我已经采取了许多步骤来尝试调查并解决问题.

RDP到服务器上没有显示任何移民问题,事件日志中没有IIS条目,我自己的日志记录似乎没有任何有用的东西(稍后将详细介绍).

我还启用了Azure诊断程序,但查看返回的日志,没有任何内容突然出现在我身上,因为它是手头问题的日志.

我尝试的下一件事是将远程调试器附加到Azure VM,这可以工作,我可以调试项目.我在Global.asax.vb中处理的所有方法上都设置了断点,包括:

Application_BeginRequest
Application_AuthenticateRequest
Application_Error
Run Code Online (Sandbox Code Playgroud)

在请求页面Application_BeginRequest被立即命中,然后按Application_AuthenticateRequest预期命中.然而,遵循代码通过Application_AuthenticateRequest导致一些奇怪的行为.

在这段代码中我验证了一个FormsAuthenticationCookie,如果发现它将被设置HttpContext.Current.UserThread.CurrentPrincipal.在这种情况下,cookie没有任何用户没有登录,这意味着该Application_AuthenticateRequest方法完成.此时我可以继续逐步完成.Net框架代码并可以看到成功完成HttpApplication.ExecuteStep.

此时,我希望master_Page_PreLoadMasterPage或我的自定义实现中的方法或其他一个预加载事件Page可以执行,但是没有一个被命中.

在调试中离开进程几分钟后最终Application_Error被命中,这意味着我的日志记录会写出显然导致错误的异常.这很少发生,但是当它发生时我发现了两个不同的错误:


我的日志中的第一个错误:

ErrorCode:SubStatus:暂时失败.请稍后重试.(一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的.对于内部部署缓存集群,还要验证以下条件.确保已为此客户端帐户授予安全权限,并检查AppFabric允许缓存服务通过所有缓存主机上的防火墙.服务器上的MaxBufferSize也必须大于或等于从客户端发送的序列化对象大小.).附加信息:客户端尝试与服务器通信:net.tcp:// rolename.here:24233 .. GUID:9f85d178-968f-4908-bec4-d1a5f57bb819

在Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ErrStatus errStatus,的Guid trackingId,异常responseException,字节[] []的有效载荷,的EndpointId目的地)在Microsoft.ApplicationServer.Caching.DataCacheFactory.EstablishConnection(IEnumerable'1服务器,RequestBody请求,Func键'3 sendMessageDelegate,DataCacheReadyRetryPolicy retryPolicy)位于Microsoft.Web.DistributedCache的Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(String cacheName,CreateNewCacheDelegate cacheCreationDelegate,DataCacheInitializationViaCopyDelegate initializeDelegate)的Microsoft.ApplicationServer.Caching.SocketClientProtocol.Initialize(IEnumerable'1服务器). Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.CreateInternalProvider(IHttpRuntime httpRuntime,OutputCacheI)中的CacheHelpers.RunCacheCreationHooks(CacheConnectingEventArgs fetchingEventArgs,IDataCacheFactory dataCacheFactory,Object sender,EventHandler'1 fetchingHandler,EventHandler'1 fetchedHandler)nitializationData initData,IDataCacheFactory …

asp.net deployment iis azure azure-cloud-services

2
推荐指数
1
解决办法
1277
查看次数

标签 统计

asp.net ×1

azure ×1

azure-cloud-services ×1

deployment ×1

iis ×1