小编Nag*_*goh的帖子

在HttpClient中为Get操作显式设置Content-Type标头

有没有一种方法可以Content-Type在执行GETwith 时显式设置标头值HttpClient

我意识到这打破了1.1协议,但我正在使用一个不符合它的API,并且要求我设置一个Content-TypeHeader.

我试过这个无济于事......

using (var httpClient = new HttpClient())
{
   var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://example.com");

   httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-www-form-urlencoded+v1.3");

   await httpClient.SendAsync(httpRequestMessage)
}
Run Code Online (Sandbox Code Playgroud)

我检查了DefaultRequestHeadersTryAddWithoutValidation添加,它似乎并没有被设置的Content-Type值.

如果我尝试设置httpRequestMessage的Content-Type(通过设置httpRequestMessage.Content = ...,我收到以下错误:

Cannot send a content-body with this verb-type.
Run Code Online (Sandbox Code Playgroud)

有没有办法,我可以明确地设置的方式Content-TypeGET使用HttpClient的操作?

.net c# dotnet-httpclient

14
推荐指数
2
解决办法
8311
查看次数

Login-AzureRmAccount:术语"Login-AzureRmAccount"未被识别为cmdlet,函数,脚本的名称

我遇到Azure PS模块的问题.我通过PS库安装了以下内容:

Install-Module AzureRM
Install-Module Azure
Run Code Online (Sandbox Code Playgroud)

(并重新启动)

但是,当我运行时,Login-AzureRmAccount我收到以下错误:

Login-AzureRmAccount:术语"Login-AzureRmAccount"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在行:1 char:1 + Login-AzureRmAccount + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:ObjectNotFound :( Login-AzureRmAccount:String)[],CommandNotFoundException + FullyQualifiedErrorId :CommandNotFoundException

我似乎安装了所有Azure模块.即如果我跑,Get-Module -List我得到关注.

Script     3.7.0      Azure                               {Get-AzureAutomationCertificate, Get-AzureAutomationConnec...
Script     0.1.0      Azure.AnalysisServices              {Add-AzureAnalysisServicesAccount, Restart-AzureAnalysisSe...
Script     2.7.0      Azure.Storage                       {Get-AzureStorageTable, New-AzureStorageTableSASToken, New...
Script     3.7.0      AzureRM                             {Update-AzureRM, Import-AzureRM, Uninstall-AzureRM, Instal...
Script     0.1.0      AzureRM.AnalysisServices            {Resume-AzureRmAnalysisServicesServer, Suspend-AzureRmAnal...
Script     3.5.0      AzureRM.ApiManagement               {Add-AzureRmApiManagementRegion, Get-AzureRmApiManagementS...
Script     2.7.0      AzureRM.Automation                  {Get-AzureRMAutomationHybridWorkerGroup, Get-AzureRmAutoma...
Script     2.7.0      AzureRM.Backup                      {Backup-AzureRmBackupItem, Enable-AzureRmBackupContainerRe...
Script     2.7.0      AzureRM.Batch                       {Remove-AzureRmBatchAccount, Get-AzureRmBatchAccount, Get-...
Script     2.7.0      AzureRM.Cdn                         {Get-AzureRmCdnProfile, …
Run Code Online (Sandbox Code Playgroud)

powershell azure azure-resource-manager

13
推荐指数
1
解决办法
4万
查看次数

Teamcity - 为代理端结帐执行 Git Fetch

我正在尝试git fetch从我的构建代理执行完整操作,以便在 TeamCity 中使用GitVersion

根据http://gitversion.readthedocs.io/en/latest/build-server-support/build-server/teamcity/#agent-checkout,我选择在 TeamCity 中使用代理结帐选项

但是,当我对代理执行结帐时,我无法获取分支的完整 git 历史记录。我得到了与此相同的结果:https : //github.com/GitTools/GitVersion/issues/912 - 具体来说:

System.InvalidOperationException: 无法在本地或远程找到“开发”或“主”分支。

我的猜测是这是因为 TeamCity 只检查了回购历史的一个子集。

Github 问题有一个git fetch在每次构建开始时执行命令的解决方法。这是 TeamCity 可以作为 VCS 根的一部分本身支持的东西吗?

提前致谢

teamcity gitversion

5
推荐指数
1
解决办法
1710
查看次数

将Cake dotnet核心测试输出导出到TeamCity

我正在寻找一种通过Cake构建脚本将.NET Core应用程序中的测试输出导出到TeamCity的方法。

目前,我只是在运行:

DotNetCoreTest("./src/MyTestProject");
Run Code Online (Sandbox Code Playgroud)

但是我在ITeamCityProviderDotNetCoreTest的文档中看不到任何内容

上面的代码块可以从命令行运行,但是我找不到将测试结果发布到构建服务器的方法。

希望有人能帮忙

c# teamcity .net-core cakebuild

5
推荐指数
2
解决办法
1149
查看次数

允许.NET WebApi忽略DOCTYPE声明

我试图通过WebApi方法将XML反序列化为对象。

我有以下课程:

[XmlRoot(IsNullable = false)]
public class MyObject 
{
     [XmlElement("Name")]
     public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

以及WebApi控制器中的以下方法。

 [HttpPost]
 public HttpResponseMessage UpdateMyObject(MyObject model)
 {
   //do something with the model
 }
Run Code Online (Sandbox Code Playgroud)

XmlSerializer通过在Web项目的启动中设置以下内容来使用:

config.Formatters.XmlFormatter.UseXmlSerializer = true;
Run Code Online (Sandbox Code Playgroud)

当我发布以下XML时,model会正确反序列化,并且我可以读取其属性。

<?xml version="1.0" encoding="UTF-8"?>
<MyObject>
    <Name>HelloWorld</Name>
</MyObject>
Run Code Online (Sandbox Code Playgroud)

但是,当我使用DOCTYPE声明发布XML时,该model值为null,并且似乎在方法输入时未反序列化。也就是说,此XML不会反序列化为模型:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MyObject SYSTEM "http://example.com/MyObject.dtd">
<MyObject>
    <Name>HelloWorld</Name>
</MyObject>
Run Code Online (Sandbox Code Playgroud)

希望有人能够提供帮助。

c# xml xml-serialization asp.net-web-api asp.net-web-api2

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