前面文章使用Blazor玩耍了一下GIS效果,今天再来把本地GIS服务和Blazor结合一下:
1、直接在MapBox下添加本地底图服务:
'tiles': ['https://localhost:7146/tiles/{z}/{x}/{y}.png']
2、出现小插件,跨域问题:
3、明明Status Code=200:
4、在浏览器单独也能打开单个瓦片:
5、查资料说是服务需要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>();
最终简单效果就这么完事了;以后有时间的话,可以再去摸索一下更复杂的效果;编程不息、Bug不止、无Bug、无生活;改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!如果觉得不错,那就伸出您的小手点个赞并关注一下,多谢您的支持!