我正在为大学做一个项目,其中一个网站将命令发送到 Windows 窗体应用程序。该应用程序负责访问串口和发送和接收命令。
网站与 Windows 窗体应用程序之间的通信,我使用了 Web Api。我需要设置 webapi 实现 CORS,但我看到的所有示例都是针对 MVC 的,我需要针对 Windows 窗体。我下了我从客户端调用的订单以及我的 Windows 窗体中的 webapi 是如何配置的。
另外,把Chrome返回给我的错误。
使用 Windows 窗体类 WebApi
public class GPSController : ApiController
{
[HttpGet]
public Coordenada Posicao()
{
return TCCWindows.FormPrincipal.PegarCoordenadas();
}
}
配置 WebApi Windows 窗体
private void button2_Click_2(object sender, EventArgs e)
{
if (button2.Text == "Iniciar serviço")
{
var config = new HttpSelfHostConfiguration(textBox1.Text);
config.Routes.MapHttpRoute(
"API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
server = new HttpSelfHostServer(config);
server.OpenAsync();
MessageBox.Show("Serviço inicializado!");
button2.Text = "Parar serviço";
}
else
{
server.CloseAsync();
button2.Text = "Iniciar serviço";
}
}
获取 WebApi Jquery 我的 MVC 站点
function cmdLocal() {
$.ajax({
type: "GET",
dataType: "json",
url: "http://localhost:8089/api/gps/",
success: function(callback){
alert(callback);
},
error: function(err){
alert("You have a error"+err);
}
});
}
使用 Chrome 获取 cmdLocal 时出错
XMLHttpRequest cannot load http://localhost:8089/api/gps/. Origin http://localhost:36452 is not allowed by Access-Control-Allow-Origin.
如何在 Windows 窗体应用程序中实现 CORS?
tks