作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在在 Windows 8.1 上并使用 VS 2012。我正在使用 Web api 后端来完成我的 Windows Phone 应用程序中的所有繁重工作。但是,当我通过模拟器运行我的应用程序时,对我本地运行的 web api 的所有请求都被拒绝了。
我发现模拟器无法解析本地主机。在 this article 中做了一些非常模拟器后我能够在 Windows 8 模拟器上没有问题。
但是,我现在需要在我的实际设备上对其进行测试才能使用相机,但我遇到了与模拟器相同的问题。我无法与我的本地 web api 通信。
我在 Windows 7 和 VS 2010 上时没有问题。我只是使用了文章中的步骤,没有任何问题。
当我尝试从我的设备向我的 Web api 发出请求时出现此错误(设备通过计算机由 USB 连接)
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\"http://www.w3.org/TR/html4/strict.dtd\">
<HTML>
<HEAD>
<TITLE>Bad Request</TITLE>
<META HTTP-EQUIV=\"Content-Type\" Content=\"text/html; charset=us-ascii\">
</HEAD>
<BODY>
<h2>Bad Request - Invalid Hostname</h2>
<hr>
<p>HTTP Error 400. The request hostname is invalid.</p>
</BODY>
</HTML>
public class CourseService
{
public const string webApiUrl = "http://localhost:4372/api/values";
RestClient client = new RestClient(webApiUrl);
public void GetCourses(Action successCallback, Action<string> errorCallBack, bool forceError = false)
{
var request = new RestRequest(Method.GET);
client.ExecuteAsync(request, response =>
{
if (forceError)
{
errorCallBack("Failed");
}
else
{
if (response.StatusCode == HttpStatusCode.OK)
{
successCallback();
}
else
{
errorCallBack("Failed");
}
}
});
}
}
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
最佳答案
您的 404 表示主机名无效。也许您必须按照 here 中描述的步骤进行操作。简而言之:将您的机器名称添加到您的 Web 服务的配置中。它与 Windows Phone 8 有关,但也可能适用于 Windows Phone 7。
关于windows-phone-7 - WP7 设备 + Windows 8.1 + VS 2012 + Asp.net Web Api - 如何让设备与 Web Api 对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041809/
我是一名优秀的程序员,十分优秀!