現在進出口工作在客戶端有:Visual Studio的C#:識別工作區是否創建
Workstation.Current.ReloadCache();
var ws = Workstation.Current.GetAllLocalWorkspaceInfo().ToList();
,看看是否新的工作區用VS或與任何其他應用程序創建。
但是有沒有辦法掛在tfs或其他東西來獲得像'WorkspaceCreated'這樣的事件?
現在進出口工作在客戶端有:Visual Studio的C#:識別工作區是否創建
Workstation.Current.ReloadCache();
var ws = Workstation.Current.GetAllLocalWorkspaceInfo().ToList();
,看看是否新的工作區用VS或與任何其他應用程序創建。
但是有沒有辦法掛在tfs或其他東西來獲得像'WorkspaceCreated'這樣的事件?
如果您只想知道工作區是否在客戶端創建。您不必連接TFS中的事件。 TfsConfigurationServer
和IEventService
與TFS中的事件服務器有關,而不是客戶端對象模型中的事件。所以你不能從TFS服務器獲取「WorkspaceCreated」事件信息。
您可以撥打QueryWorkspaces
workspace = versionControl.QueryWorkspaces(
workspaceName,
versionControl.AuthorizedUser,
Environment.MachineName).SingleOrDefault();
上面的代碼將查詢工作區此代碼運行在計算機上的用戶。如果集合爲空,它將在工作空間中返回null,否則它將返回列表中的單個項目。更多詳細信息,請參閱此鏈接:C# Code to check whether the workspace exist on TFS
工作區是在本地機器上創建的。服務器端沒有發生任何事件。所以沒有辦法做到這一點。
對不起,我的意思是我想掛在客戶端。 我讀了關於TfsConfigurationServer和IEventService,但那不適合我,因爲沒有服務運行此.... – killika
請參閱我的更新的答案。 –