WPF效果第二百二十六篇之Blazor加载本地GIS服务

本文介绍了如何在Blazor应用中集成本地GIS服务,并解决跨域问题,通过添加CORS中间件和配置`Access-Control-Allow-Origin`头来允许跨域请求。作者分享了解决方案和实现过程,以及对程序员乐趣的感悟。
摘要由CSDN通过智能技术生成

前面文章使用Blazor玩耍了一下GIS效果,今天再来把本地GIS服务和Blazor结合一下:

1、直接在MapBox下添加本地底图服务:

'tiles': ['https://localhost:7146/tiles/{z}/{x}/{y}.png']

2、出现小插件,跨域问题:

b56e526366a910d2cc6d2221e278a7af.png

3、明明Status Code=200:

90f08ec808c9d91d102144f05a5f4f1a.png

4、在浏览器单独也能打开单个瓦片:

98b0644e7ccd9a636b52005de33156cb.png5、查资料说是服务需要AddCors和UseCors:

builder.Services.AddCors(options => options.AddPolicy("AllowAll", p => p.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()));
app.UseCors("AllowAll");

6、结果还是一样,查资料又发现一个解决方案:

https://www.cnblogs.com/fei686868/p/16963711.html

7、中间件的写法:

public async Task Invoke(HttpContext context)
{
    context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
    if(context.Request.Method.Equals("OPTIONS"))
    {
        context.Response.StatusCode = StatusCodes.Status200OK;
        return;
    }
    await next(context);
}

8、Program中配置:

app.UseMiddleware<CorsMiddleware>();

最终简单效果就这么完事了;以后有时间的话,可以再去摸索一下更复杂的效果daf23d4e3b8feed8ecf9d4756547812e.png;编程不息、Bug不止、无Bug、无生活5c531c49586aec9d8269f80b622d9c97.png;改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!如果觉得不错,那就伸出您的小手点个赞并关注一下,多谢您的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值