簡體   English   中英

從 VS19 調試模式到已發布網站的 DevOps 接口有什么區別?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM