2

ASP.NET MVC 在 TEST Server 中引发以下错误,我无法在开发人员机器中重现该错误。

尝试从 MVC 连接到 WebAPI 服务并收到错误

只允许使用“http”和“https”方案。参数名称:requestUri

我无法从其他问题中得到答案,因为它们主要是在谈论 WCF 绑定。

代码:

var credentials = "username:Password";
var encoded = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(credentials));
this.client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encoded);
System.Net.Http.HttpClient client = new HttpClient();
HttpResponseMessage response = client.GetAsync(URL).Result; 

注意:通过浏览器访问 WebAPI URL 会返回数据。

4

1 回答 1

6

考虑到您的参数中可能包含或不包含的内容URL,我猜它不是以http://or开头https://。为此,它必须从这两者之一开始。

因此,如果您URL当前阅读(假设URL是 a string):

mycompany.com/myservices

它需要更改为:

http://mycompany.com/myservices

或者

https://mycompany.com/myservices

如果URL不是string,而是 的实例System.Uri,那么您需要在创建此对象时执行类似的操作,或者设置URL.Scheme.

于 2013-08-13T15:29:45.913 回答