设置: 2个应用程序层(一个在DMZ(开发人员使用的应用程序层),一个在LAN(我用来测试的应用程序层)连接到位于LAN中的同一数据层.DMZ中的主应用程序层有TFS最初安装的代理功能,它已被删除,因为不需要该功能。 这两个应用程序层都在Windwos Server 2016上运行,版本为TFS2017.0.1,并连接到SQL Server 2014.
问题: 偶尔访问Web界面中的项目(通常每天1-2次,当他们第一次访问时)不起作用,浏览器会尝试加载页面多分钟,直到显示ajax错误(见下文)。
事件查看器显示大量错误,包含3条重复消息(下面包含完整的事件日志消息):
最后两条错误消息多次出现,防火墙在页面加载时每隔几秒就会看到应用程序层之间的连接尝试。
即使第二个应用程序层未运行且未列为活动应用程序层,问题/连接尝试仍会继续。 此连接仅由之前配置了TFS代理的服务器尝试,在访问第二个应用程序层上的网页时无法重现该问题。
即使有错误消息,我也无法找到任何解决此问题的尝试。
有谁知道为什么ex-proxy仍然试图连接到其他应用程序层,并可能如何阻止它发生?我不认为允许这些联系是一个长期的解决方案,即使它现在可能有所帮助。
错误讯息:
TFS网页上显示的Ajax超时错误:
Error(s):
Ajax request has been timed out.
TFS.Core.Ajax.AjaxTimeoutException: Ajax request has been timed out.
at at (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-common-vftORLcelTgjRkChaFEvvRgGeGkqNbmN9f9JjakT0rR0=:123:5805)
at https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-common-vftORLcelTgjRkChaFEvvRgGeGkqNbmN9f9JjakT0rR0=:123:1356
at rt (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-common-vftORLcelTgjRkChaFEvvRgGeGkqNbmN9f9JjakT0rR0=:123:938)
at Object.error (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-common-vftORLcelTgjRkChaFEvvRgGeGkqNbmN9f9JjakT0rR0=:123:1308)
at j (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:3:26860)
at Object.fireWith [as rejectWith] (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:3:27673)
at x (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:5:11145)
at Object.abort (https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:5:8987)
at https://[Public URL]/_public/_Bundling/Content?bundle=vss-bundle-basejs-vLDQ_BPnMflh1yV4rhP43SsHlun31XvwYB1svh7haP9E=:5:10539
Session Id: e174ae85-a447-4d6d-b1ab-846ad6db08ee
与其他应用程序层连接失败的事件日志消息:
[ TraceId] {00000001-0001-0001-0000-000000000000}
Tracepoint 10013082
ServiceHost {F6E9CD99-1C96-47A8-B0A8-2BD83198E917}
ContextId 332114
ProcessName w3wp
Username [Domain User trying to connect]
VSID {FA945849-5329-4DFA-A13B-0108C2113593}
Service Web Access
Method Project.Home.index
Area ContributionManifestService
Layer Service
UserAgent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36
Uri [TFS Project Uri]
Path
UniqueIdentifier {B936D264-A314-488F-BA9F-580ABBABA835}
UserDefined
ExceptionType System.Net.Http.HttpRequestException
Message System.Net.Http.HttpRequestException: An error occurred while
sending the request. ---> System.Net.WebException: Unable to connect to
the remote server ---> System.Net.Sockets.SocketException:
A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because
connected host has failed to respond [IP of second application tier]:443
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at
System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure,
Socket s4, Socket s6, Socket& socket, IPAddress& address,
ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace --- at
System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at
System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) --
- End of inner exception stack trace --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
Microsoft.VisualStudio.Services.Common.VssHttpMessageHandler.
<SendAsync>d__17.MoveNext() --- End of stack trace from previous location
where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.
<SendAsync>d__45.MoveNext() --- End of stack trace from previous location
where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
Microsoft.VisualStudio.Services.Gallery.Types.Server.PublishedExtensionCache.<GetExtensionAsset>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.Services.ExtensionManagement.Server.ContributionManifestService.LoadManifest(IVssRequestContext requestContext, String publisherName, String extensionName, String version, String language, String accountToken) at Microsoft.VisualStudio.Services.ExtensionManagement.Server.ContributionManifestService.<>c__DisplayClass3_2.<TryGetManifest>b__1(String requestedCulture) at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) at Microsoft.VisualStudio.Services.ExtensionManagement.Server.ContributionManifestService.TryGetManifest(IVssRequestContext requestContext, String publisherName, String extensionName, String version, String accountToken, ExtensionManifest& extensionManifest)
第二个事件日志消息(未找到清单):
[ TraceId] {00000001-0001-0001-0000-000000000000}
Tracepoint 10013622
ServiceHost {C72BAB51-D8CF-44DB-B3A3-F8B3EC11D13B}
ContextId 332110
ProcessName w3wp
Username [Domain User trying to connect]
VSID {FA945849-5329-4DFA-A13B-0108C2113593}
Service Web Access
Method Project.Home.index
Area InstalledExtensionService
Layer Service
UserAgent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36
Uri [TFS Project Uri]
Path
UniqueIdentifier {B936D264-A314-488F-BA9F-580ABBABA835}
UserDefined
ExceptionType
Message GetInstalledExtensionStates:: Manifest not found but including as error. Adding to results: ms.vss-build. Version: 15.105.148441404 Flags: BuiltIn, MultiVersion, Trusted
第3次事件日志消息(客户端已断开连接)
[TraceId] {00000001-0001-0001-0000-000000000000}
Tracepoint 10013082
ServiceHost {F6E9CD99-1C96-47A8-B0A8-2BD83198E917}
ContextId 332114
ProcessName w3wp
Username [Domain User trying to connect]
VSID {FA945849-5329-4DFA-A13B-0108C2113593}
Service Web Access
Method Project.Home.index
Area ContributionManifestService
Layer Service
UserAgent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36
Uri [TFS Project Uri]
Path
UniqueIdentifier {B936D264-A314-488F-BA9F-580ABBABA835}
UserDefined
ExceptionType Microsoft.TeamFoundation.Framework.Server.RequestCanceledException
Message
Microsoft.TeamFoundation.Framework.Server.RequestCanceledException:
TF400733: The request has been canceled: Client disconnected.. at
Microsoft.TeamFoundation.Framework.Server.VssRequestContext.CheckCanceled(Boolean throwIfShutdown) at Microsoft.TeamFoundation.Framework.Server.VssRequestContext.get_ServiceProvider() at Microsoft.TeamFoundation.Framework.Server.VssRequestContextExtensions.GetService[TService](IVssRequestContext context) at Microsoft.VisualStudio.Services.ExtensionManagement.Server.ContributionManifestService.TryGetManifest(IVssRequestContext requestContext, String publisherName, String extensionName, String version, String accountToken, ExtensionManifest& extensionManifest)
答案 0 :(得分:0)
由于加载问题开始影响工作质量,我完全卸载了TFS并重新安装(没有代理功能)。 不再出现加载问题,并且不再显示相关的错误消息。
虽然ex-proxy和曾经配置的应用层之间似乎存在一些剩余的通信,但完全删除TFS可以解决问题。
但是,它仍然没有完全解释为什么 ex-proxy仍然会尝试连接到其他应用层。
简而言之:如果您配置TFS代理,请不要尝试将其配置为应用层,然后删除代理,事情就会中断。