[英]What is a Difference between DevOps Interface from VS19 Debug Mode to published Website?
我有一個 web 應用程序,它發布在我進行編碼和調試的同一台 PC 上。 其中一項功能是與公司 Azure DevOps 服務器的接口,用於讀取或寫入 WorkItems。 我正在使用 VS19。 如果我處於從 VS(F5 或 ctrl+F5)啟動的調試模式,與 DevOps 的通信運行良好,我可以讀寫 WorkItems。 如果我嘗試從托管在同一台 PC 上的具有調試配置的已發布站點執行相同操作,我會得到響應,即我的請求被拒絕。
為了測試我的連接 state,我根據指南實施了一個小型測試連接方法 身份驗證是使用 PAT 實現的。 PAT 正確且身份驗證有效。
public async Task<ConnectionStatus> CheckAzureConnection()
{
string url = _uri + "/_apis/connectionData?api-version=5.1-preview";
ConnectionStatus status = new ConnectionStatus();
try
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "My User Name", _personalAccessToken))));
using (HttpResponseMessage response = await client.GetAsync(url))
{
status.Status = response.StatusCode.ToString();
return status;
}
}
}
catch (Exception ex)
{
status.Status = "Not OK";
return status;
}
}
此代碼在調試期間有效,但在已發布的網站中無效。 站點發布在 IIS 網絡服務器上。 內部有效證書綁定到站點。 IIS 根據Microsoft的說法,基本身份驗證已關閉。 老實說,我試着打開和關閉它。
第一個站點發布了發布配置,但實際上因為問題我切換到調試配置,但沒有成功發布。
有誰知道我忘記了什么? 為什么我的請求被拒絕?
問題出在 IIS 配置中。 正如我在問題中提到的,站點在 company.network 中運行。 我將應用程序池配置為由本地用戶執行。 在我將本地用戶更改為 a.network 用戶后,它起作用了。 據我所知,VS 有它自己的 IIS 並且它與 signed.network 用戶一起運行。 這與主機上的 IIS 不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.