1

YouTrackSharp 経由で API リクエストを行うと、不正なリクエスト エラー メッセージが表示されることがあります。これは、サーバーで実行している場合にのみ発生します。アプリをローカルでデバッグすると (IIS Express ではなく IIS で実行)、適切に処理されます。誰かが以前にこの動作を経験したことがありますか?何か提案はありますか?

例外

YouTrackSharp.Infrastructure.InvalidRequestException: Bad Request ---> EasyHttp.Infrastructure.HttpException: BadRequest Bad Request
   at EasyHttp.Http.HttpClient.ProcessRequest(String filename)
   at YouTrackSharp.Infrastructure.Connection.MakePostRequest(String command, Object data, String accept)
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)
   at YouTrackSharp.Issues.IssueManagement.ApplyCommand(String issueId, String command, String comment, Boolean disableNotifications, String runAs)

呼び出しコード

issueManagement.ApplyCommand(issue.Id,
  string.Format("Ready For Testing Versions {0}", version),
  string.Format("Marked Ready for Testing for {0} build, compiled {1}, by {2}",
  version, utcDate.ToLocalTime(), user.UserName),
  true);

public void ApplyCommand(string issueId, string command, string comment, bool disableNotifications = false, string runAs = "")
{
    if (!_connection.IsAuthenticated)
    {
        throw new InvalidRequestException(Language.YouTrackClient_CreateIssue_Not_Logged_In);
    }

    try
    {
        dynamic commandMessage = new ExpandoObject();


        commandMessage.command = command;
        commandMessage.comment = comment;
        if (disableNotifications)
            commandMessage.disableNotifications = disableNotifications;
        if (!string.IsNullOrWhiteSpace(runAs))
            commandMessage.runAs = runAs;

        _connection.Post(string.Format("issue/{0}/execute", issueId), commandMessage);
    }
    catch (HttpException httpException)
    {
        throw new InvalidRequestException(httpException.StatusDescription, httpException);
    }
}
4

1 に答える 1