小编giv*_*ivo的帖子

覆盖GMap.Net Wpf

我正在构建一个需要用于渲染地理地图的工具的应用程序,此外,应用程序需要该工具来提供添加自定义叠加层的方法.

我发现GMap.Net是一个很好的工具.

WinForm在网上发现了很多创建自定义叠加层的示例,例如:

GMapOverlay markersOverlay = new GMapOverlay("markers");
GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(-25.966688, 32.580528), GMarkerGoogleType.green);
markersOverlay.Markers.Add(marker);
gmap.Overlays.Add(markersOverlay);
Run Code Online (Sandbox Code Playgroud)

但当我接近WPFGMap.Net 的版本时,我注意到叠加层已经消失,我不得不将标记直接添加到标记集合(mymap.Markers.Add(new Marker())),而无法在单独的叠加层中合成标记.

如何在GMap.Net的Wpf版本中使用叠加?

c# wpf gmap.net

6
推荐指数
1
解决办法
6664
查看次数

使用Passportjs刷新页面后保持身份验证

我正在使用快递,猫鼬passportjs建立SPA .

我为我的用户创建了一个简单的架构:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var passportLocalMongoose = require('passport-local-mongoose');

var User = new Schema({
    username: String,
    password: String,
    first_name: String
}, { collection: 'users' });

User.plugin(passportLocalMongoose);

mongoose.model('User', User);
Run Code Online (Sandbox Code Playgroud)

使用User猫鼬给我的对象配置护照:

passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());         
passport.deserializeUser(User.deserializeUser());
Run Code Online (Sandbox Code Playgroud)

并配置我的应用程序在导航到此路线时对用户进行身份验证:

app.post('/login', passport.authenticate('local'), function(req, res, next) {
    if (req.isAuthenticated()) {
        return res.json({ state: 'success', user: { first_name: req.user.first_name } });    
    }
    return res.json({ state: 'failure', message: 'cannot authenticate' });
});
Run Code Online (Sandbox Code Playgroud)

现在我能够成功验证用户身份.浏览器会保存会话ID cookie.

我的问题是,每次用户刷新页面时,护照都不会使用会话ID反序列化用户,这会使用户无法进行身份验证. …

javascript session mongoose express passport.js

5
推荐指数
1
解决办法
3040
查看次数

在RESTful服务中超越CRUD

我正在开发一个WCF RESTful服务,并注意到在某些地方我可以用多种方式表示非CRUD操作(而不是资源).

假设我们购买了一台新电视并将其连接到我们的专用网络.现在我们要构建一个Web服务来查看和控制电视.

  • 要阅读和更新电视的属性,我们将使用以下URI:

    http:// domain/tv / GET | PUT - 获取和更新电视属性.(company,owner,inches)

  • 对于使用视频,我们将使用以下URI:

    ws:// domain/tv/video - (假设WebSocket是视频内容传输的最佳选择)

  • 和操作:

    • updateVersion
    • startBIT (内置自检)
    • changeChannel
    • turnVolumeUp, turnVolumeDown

第一种设计是使用属性来表示操作.服务器将注意到属性更改,然后执行所需的操作.最后POST荷兰国际集团不能由性质来表示的操作:

http:// domain/tv / GET | PUT - 获取或设置volumechannel使用json对象.

并为updateVersionstartBIT:

http:// domain/tv / POST {function:'updateVersion'}或{function:'startBIT'}

第二种设计是使用Command资源表示所有操作:

http:// domain/tv/commands POST {{命令:'BIT',发送者:'Dan'...} - 创建新的执行命令startBIT,changeChannel或者turnVolume

第三种设计是表示每个操作,可以作为名词作为资源发音,其余作为属性:

http:// domain/tv/versionUpdates GET | PUT …

rest wcf web-services restful-architecture

5
推荐指数
1
解决办法
259
查看次数

RabbitMQ 或 Kafka 是否适合实时仪表板应用程序?

我们面临着一个关键的决定,我们需要为实时遥测处理和监控系统选择正确的工具。

该系统有两个主要目的:

  1. 在仪表板 UI 应用程序中显示实时遥测数据(高刷新率)
  2. 处理来自多个来源的大量数据

我们有两个顾虑:

  • 在我们的用例中,与我们目前所发现的相比,大多数数据消费者将是 Web 客户端 -> RabbitMQKafka都主要用于基于云的平台,其中大多数数据消费者是服务而不是客户端。

  • 通常来自 Kafka 或 RabbitMQ 的数据消费者是负载均衡的,并且不会为每个客户端复制消息。

.

  1. Kafka 或 RabbitMQ 是否适合为每个客户端复制数据的环境?
  2. 这种工具是否适合在为每个客户端复制消息的同时处理大量客户端?
  3. 这种工作有更好的工具吗?

谢谢 :)

streaming rabbitmq apache-kafka

5
推荐指数
1
解决办法
3582
查看次数

如何同步导航webbrowser?

我已经看了很长时间,我注意到每个人都说webbrowser异步工作,我认为它是错误的,因为当我触发Navigate甚至实现documentComplete事件时,没有任何反应.

我注意到当主线程(拥有webbrowser的线程)完成了他的工作时,webbrowser开始导航,可能是因为之后浏览器将使用主线程来执行他的命令.

既然这不好,因为我希望能够控制时间,我希望能够知道webbrowser何时完成加载页面然后继续我的工作.轮询在这里不起作用,因为我之前说过,webbrowser甚至没有开始导航.

例:

WebBrowser browser = new WebBrowser();

browser.Navigate(url);
while(browser.ReadyState != WebBrowserReadyState.Complete)
{
}

// Then executing the next steps...
Run Code Online (Sandbox Code Playgroud)

我如何同步使用WebBrowser,以便能够使用文档属性和WebBrowser的其他东西,我想创建某种阻塞方法所以我可以控制并知道WebBrowser何时完成加载.

c# asynchronous synchronous webbrowser-control

4
推荐指数
1
解决办法
5181
查看次数

Passport.js总是返回500内部错误

我正在尝试使用passport.js 构建一个非常简单的身份验证API,但我的代码总是返回500内部错误状态.

var express = require('express');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var expressSession = require('express-session');
var logger = require('morgan');
var path = require('path');
var passport = require('passport');
var passportLocal = require('passport-local');    

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(expressSession({
    secret: process.env.SESSION_SECRET || 'secret',
    resave: false,
    saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());    

passport.use(new passportLocal.Strategy(function (username, password, done) {
    console.log('login using ' + username);
    done(null, { id: 1, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express passport.js

3
推荐指数
1
解决办法
2772
查看次数

PhoneGap还是Apache Cordova?

最近我正在研究一个很好的跨平台框架,并找到了PhoneGapApache Cordova.我有点迷惑,我想填补一些漏洞.

  • 我知道PhoneGap是Apache Cordova的发行版,就像Ubuntu是Linux的发行版一样.那么这意味着PhoneGap有更多功能吗?什么样的功能?它能使PhoneGap更好吗?PhoneGap可以做东西Cordova不能吗?

  • 哪个拥有更大的社区?

  • 性能..我知道他们永远不会像本机应用程序一样提供相同的体验,但我只是想知道PhoneGap/Cordova是否可以顺利运行带有一些UI动画的简单客户端应用程序?哪一个表现更好?

最糟糕的是,Microsot支持在Visual Studio上开发Apache Cordova应用程序,并且不支持开发Phone Gap.只是让我的决定更难.

android ios web cordova

0
推荐指数
1
解决办法
943
查看次数