小编syn*_*ror的帖子

Highcharts - 更改图例索引顺序

使用highcharts创建具有堆叠列的图表时,我的系列默认情况下从上到下添加 - 第一个添加的系列放在顶部.我想改变这种行为,以便最后添加的系列在顶部.我试图改变索引和zIndex选项,但是传奇中的项目也被重新排序.这是一个简单的例子:http://jsfiddle.net/6bCBf/7/.

$(function () {

    var chart = new Highcharts.Chart({

        chart: {
            type: 'column',
            renderTo: 'container'
        },

        xAxis: {
            categories: ['Jan', 'Feb', 'Mar']
        },

        plotOptions: {
            series: {
                stacking: 'normal'
             }
         },    

        series: [
            {
                name: 'base',
                data: [10, 20, 30],
                index:25,
                zIndex:10
            },
            {
                name: 'sec',
                data: [30, 20, 10],
                index:1,
                zIndex:9
            }
        ]
    });   
});
Run Code Online (Sandbox Code Playgroud)

是否可以更改堆栈顺序,但保持图例排序?我只想按字母顺序排列传奇,但图表中的项目从下到上添加.

highcharts

16
推荐指数
1
解决办法
2万
查看次数

带有applet的Java客户端 - 服务器游戏

我必须用Java实现一个简单的游客客户端 - 服务器游戏.不幸的是,我刚刚开始使用网络编程,并且在选择合适的解决方案时遇到了一些问题.

让我们假设我正在创建一个国际象棋游戏,其中两个客户端可以连接到服务器,使用他们的用户名和密码进行身份验证和播放.必须将客户端编程为applet(瘦客户端),但我不知道应该将其用作服务器.

我的意思是,我已经阅读了几个不同的可能性,如RMI,套接字,servlet,但仍然不知道哪个适合我的需求.我有点困惑,因为我不完全理解如何进行沟通.

我应该创建一个可以在服务器上一直运行并等待播放器的可执行服务器吗?在我看来,这似乎是一种奇怪的方式.或者有没有更简单的方法,例如,我可以创建一个servlet并将其放在Tomcat服务器上,以便只有有任何玩家才能运行服务器吗?该servlet是否可以与applet(客户端)通信,反之亦然?*

我真的很感激一些提示.

java applet client-server

7
推荐指数
1
解决办法
1301
查看次数

用更好的图案替换铸件

我正在研究简单的客户端 - 服务器解决方案,客户端可以向服务器发送不同类型的命令并获得特定结果.命令可以具有不同的属性.我想要的是一种体系结构,可以根据它处理的命令类型选择特定的命令处理程序.我创建了基本的基础架构如下:

public interface ICommand
{
}

public class CommandA: ICommand
{
    public string CustomProperty { get; set; }
}

public class CommandB: ICommand
{
}
Run Code Online (Sandbox Code Playgroud)

每个命令都有自己的CommandHandler,负责处理命令和返回结果.它们都继承自CommandHandlerBaseClass:

public interface ICommandHandler
{
    bool CanHandle(ICommand command);
    IReply Handle(ICommand command);
}

public abstract class CommandHandlerBase<TCommand> : ICommandHandler
    where TCommand : class, ICommand
{
    public bool CanHandle(ICommand command)
    {
        return command is TCommand;
    }

    public IReply Handle(ICommand command)
    {
        return Handle(command as TCommand);
    }

    public abstract IReply Handle(TCommand command);
}

// Specific handler …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns casting

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

在 Angular 的嵌套路由器出口中动态加载模块

我有一个 Angular 5 应用程序,它可以动态加载功能模块并在主路由器插座中显示它们的内容。下面的代码显示了我的基本配置:

来自根模块(主路由器插座)的 app.component:

<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

root 的路由配置(模块从传递的 url 动态加载):

const routes: Routes = [
    { path: 'module1', loadChildren: ...},
    { path: 'module2', loadChildren: ...}
];

export const AppRoutes = RouterModule.forRoot(routes);
Run Code Online (Sandbox Code Playgroud)

功能模块之一的示例路由:

const routes: Routes = [
    { path: 'report/:reportId', component: ReportComponent}
];

export const AppRoutes = RouterModule.forChild(routes);
Run Code Online (Sandbox Code Playgroud)

及其包含另一个路由器插座的 app.component :

<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

这样的配置工作正常 - 如果我去 mysite.com/module1,然后加载 module1 并且 angular 控制功能模块路由器,所以访问 mysite.com/module1/report/2 会在功能模块的路由器出口内显示 ReportComponent。

我现在要做的是将 TabsComponent 添加到我的主模块中,以便能够从多个选项卡组合页面,其中每个选项卡将包含一个特定模块。我想以某种方式为 root 使用已经指定的路由,而无需手动将其重复为 TabsComponent 的子项,并将功能模块加载到 TabsComponent 的路由器插座中。

tabs.component:

<tabs-navigation></tabs-navigation>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

tabs.configuration(在运行时通过 http 动态加载):

{ …
Run Code Online (Sandbox Code Playgroud)

angular-routing angular angular-router

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

MVC 3 - 仅限特定用户访问

在我的Web应用程序中,注册用户可以添加新内容并在以后进行编辑.我只希望内容的作者能够编辑它.除了在检查记录的用户是否与作者相同的所有操作方法中手动编写代码之外,还有其他智能方法吗?我可以用于整个控制器的任何属性?

asp.net-mvc asp.net-mvc-3

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

有条件地使用自定义中间件

我在 asp 中创建了我的自定义身份验证中间件。net core 项目,并注册如下:

public class MyAuthenticationMidleware
{
    private readonly RequestDelegate _next;

    public ConnectAuthenticationMidleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        if (!UserIsAuthenticated())
        {
            context.Response.StatusCode = 401;
            return;
        }
        ...
        await _next.Invoke(context);
    }
}

public static class MyAuthenticationMidlewareExtensions
{
    public static IApplicationBuilder UseMyAuthentication(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware<MyAuthenticationMidleware>();
    }
}
Run Code Online (Sandbox Code Playgroud)

在启动中:

    public void Configure(...)
    {
        app.UseStaticFiles();
        app.UseMyAuthentication();
        app.UseMvc();
    }
Run Code Online (Sandbox Code Playgroud)

这可以正常工作 - 为每个请求运行身份验证中间件。如果用户未通过身份验证,则返回 401。否则将调用特定的 mvc 操作。

我试图做的是阻止身份验证中间件针对某些特定操作运行。我使用MapWhenmethod 创建了另一个扩展方法,并按如下方式使用它:

public static class MyAuthenticationMidlewareExtensions
{ …
Run Code Online (Sandbox Code Playgroud)

asp.net-core-mvc asp.net-core

4
推荐指数
2
解决办法
3113
查看次数