Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动测试目标web api版本_C#_Wpf_Asp.net Web Api_Autorest - Fatal编程技术网

C# 自动测试目标web api版本

C# 自动测试目标web api版本,c#,wpf,asp.net-web-api,autorest,C#,Wpf,Asp.net Web Api,Autorest,我还没有实现api的版本控制,因为我想先了解更多信息。 我正在使用asp.NETWebAPI,并使用AutoRest集成到WPF应用程序中。 它已经运行了几个月了,但我希望使用api的版本控制 对于从WPF到api的典型调用,有没有一种方法可以针对特定版本的api public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive) { try

我还没有实现api的版本控制,因为我想先了解更多信息。 我正在使用asp.NETWebAPI,并使用AutoRest集成到WPF应用程序中。 它已经运行了几个月了,但我希望使用api的版本控制

对于从WPF到api的典型调用,有没有一种方法可以针对特定版本的api

public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive)
    {
        try
        {
            CheckCredentials.CheckValidCredentials();
            using (var db = new BuxtedAPI(CheckCredentials.RestCredentials))
            {       
                var res = await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
                var obs = new ObservableCollection<EventsDTO>(res);
                return obs;
            }
        }
        catch (Exception ex)
        {
            logger.Error(ex);               
            return null;
        }
    }
公共异步任务GetEvents(bool ShowInActive)
{
尝试
{
CheckCredentials.CheckValidCredentials();
使用(var db=new BuxtedAPI(CheckCredentials.RestCredentials))
{       
var res=await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
var obs=新的可观测集合(res);
返回obs;
}
}
捕获(例外情况除外)
{
记录器错误(ex);
返回null;
}
}

提前感谢。

如果其他人有此问题

 public async Task<ObservableCollection<EventsDTO>> GetEvents(bool ShowInActive)
    {
        try
        {
            CheckCredentials.CheckValidCredentials();
            using (var db = new BuxtedAPI(CheckCredentials.RestCredentials))
            {
                db.HttpClient.DefaultRequestHeaders.Add("X-Version", "2.0");
                var res = await db.GetEventsAsync(ShowInActive).ConfigureAwait(false);
                var obs = new ObservableCollection<EventsDTO>(res);
                return obs;
            }
        }
        catch (Exception ex)
        {
            logger.Error(ex);
            MessageBox.Show(
                $"{ex.Message}{Environment.NewLine}{ex.InnerException?.ToString() ?? ""}");
            return null;
        }
    }
和配置

  config.AddApiVersioning(cfg =>
        {
            cfg.DefaultApiVersion = new ApiVersion(1, 0);
            cfg.AssumeDefaultVersionWhenUnspecified = true;
            cfg.ReportApiVersions = true;
            cfg.ApiVersionReader = new HeaderApiVersionReader("X-Version");
        });
  config.AddApiVersioning(cfg =>
        {
            cfg.DefaultApiVersion = new ApiVersion(1, 0);
            cfg.AssumeDefaultVersionWhenUnspecified = true;
            cfg.ReportApiVersions = true;
            cfg.ApiVersionReader = new HeaderApiVersionReader("X-Version");
        });