问题列表 - 第20731页

从JRuby实例化非静态Java内部类

所以给出以下java类:

class Outer
{
  private int x;
  public Outer(int x) { this.x = x; }
  public class Inner
  {
    private int y;
    public Inner(int y) { this.y = y; }
    public int sum() { return x + y; }
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式从Java创建内部类的实例:

Outer o = new Outer(1);
Outer.Inner i = o.new Inner(2);
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法从JRuby那样做

#!/usr/bin/env jruby
require 'java'
java_import 'Outer'

o = Outer.new(1);
i = o.Inner.new(2); #=> NoMethodError: undefined method `Inner' for #<Outer...>
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

ruby java jruby inner-classes

10
推荐指数
1
解决办法
1589
查看次数

wcf服务无法激活

它是一个带有ssl和成员资格的.svc IIS托管服务.

我的wcf客户报告:

System.ServiceModel.ServiceActivationException was unhandled
  Message="The requested service, 'https://www.greenjump.nl/WebServices/OrderService.svc' could not be activated. See the server's diagnostic trace logs for more information."
  Source="mscorlib"
Run Code Online (Sandbox Code Playgroud)

在我得到的服务器上:System.ArgumentException此集合已包含方案http的地址.此集合中每个方案最多只能有一个地址.参数名称:item

奇怪的是,这只发生在生产服务器上,localhost开发服务器上的相同代码和配置工作正常.我只更改端点地址,并从计算机名称更改为www.webdomain.com

更多服务器跟踪

<ExceptionType>
  System.ArgumentException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
</ExceptionType>
<Message>
  This collection already contains an address with scheme http.  There can be at most one address per scheme in this collection.
  Parameter name: item
</Message>
<StackTrace>
  at System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item)
  at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
  at System.ServiceModel.UriSchemeKeyedCollection..ctor(Uri[] addresses)
  at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
  at SharpShop.Web.StructureMap.StructureMapServiceHost..ctor(Type serviceType, …
Run Code Online (Sandbox Code Playgroud)

wcf iis-7

10
推荐指数
2
解决办法
7万
查看次数

是否可以在滚动条上绘画?

是否可以在TMemo,TListbox等标准控件的滚动条上绘画.?

我需要的是在滚动条上绘制一些基本形状,我试图避免从stratch实现整个滚动的东西.有什么指针吗?TIA!

delphi winapi scrollbar

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

管理页面以管理asp.net成员资格提供程序和角色管理

是否有任何开源项目为asp.net会员提供商提供前端?像一个视觉工作室通过它配置暴露,但可以在生产中部署.

我希望在前端看到的一些功能的例子是

  • 添加用户
  • 删除用户
  • 重设密码
  • 改变角色.
  • 添加角色

等等

membership asp.net asp.net-membership membership-provider

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

Keytool创建受信任的自签名证书

我正在尝试使用(java)keytool创建自签名证书,但是当我尝试使用它时,我得到以下异常(请参阅底部的整个异常).

...<5 more exceptions above this>
Caused by: sun.security.validator.ValidatorException: No trusted certificate found
        at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:304)
        at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:107)
        at sun.security.validator.Validator.validate(Validator.java:203)
        at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172)
        at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:841)
        ... 22 more
Run Code Online (Sandbox Code Playgroud)

我知道我可以用这段代码绕过这个:

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;

HostnameVerifier hv = new HostnameVerifier() {
    public boolean verify(String urlHostName, SSLSession session) {
        System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
        return true;
    }
};

HttpsURLConnection.setDefaultHostnameVerifier(hv);
Run Code Online (Sandbox Code Playgroud)

(资源)

但我对这个解决方案不感兴趣,因为我认为它会造成安全漏洞.(如果我错了,请纠正我).

谁能指出我正确的方向?我现在正在本地进行测试,因此很容易改变.我可以访问服务器代码,客户端代码和.keystore文件.

更新

我试图为客户端和服务器使用一个.keystore文件,但为了简化我的问题,我创建了server.keystore(见下文)和client.truststore(见下文).我有理由相信证书是正确的,但如果有人可以证实我会感激.

server.keystore

hostname[username:/this/is/a/path][711]% keytool -list -keystore server.keystore -v
Enter keystore password: …
Run Code Online (Sandbox Code Playgroud)

java web-services certificate keytool ssl-certificate

6
推荐指数
2
解决办法
5万
查看次数

如何在Visio中创建Visual Studio样式类图?

我需要规划出Class,Method,Attribute样式图,我已经在看Class DesignerVisual Studio,但它似乎没有做我想做的.我希望能够让图表显示类似的Visual Studio- 除了我希望能够表示这些方法所需的参数,例如:

getStock(StockID)
Run Code Online (Sandbox Code Playgroud)

这将在图中显示.这是一个ASP.NET网站 - 为这样的网站创建图表以表示方法的最佳方法是什么 - 我不想开始生成类 - 这就是我想要使用的原因Visio,而且我Visio比我更熟悉在Visual Studio Class设计师,我大多使用Express的产品不配备此行.

我希望这例如Default.aspx:

Default.aspx
(View)

Methods:  
- FeaturedStock()  
- GetStock(StockID)  
- ShowContent()
- ShowImage(StockID) 
Run Code Online (Sandbox Code Playgroud)

我不想使用,UML因为这太混乱了 - Visual Studio Class图表接近我想要的但我不能让它显示我的方法上的参数.

我的主要目标是为页面所需的每个方法设置"存根",以便作为开发人员实现该功能,这是我计划此项目的最简单方法.

asp.net diagram visio class

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

Rails文件上传大小限制

有没有人知道在运行带有Passenger/mod_rails的Rails应用程序时限制文件上载大小的好方法.请求应立即被拒绝,以便文件不会传输到服务器.

到目前为止我找到的解决方案都描述了如何修补Mongrel以实现限制,但我必须使用乘客使用此应用程序.

ruby-on-rails passenger mod-rails

9
推荐指数
3
解决办法
2万
查看次数

你如何决定使用什么端口?

这有点主观,因为没有规则可以这么说.每次我创建服务器时,我都会对自己说:"最好使用的端口是什么?" 我猜答案是"任何,只要用户可以改变它." 那么,其他人如何决定如何选择默认端口?就个人而言,我喜欢使用像8000这样的东西,如果它与HTTP相关,我注意到这是一个非常普遍的趋势.但是如果8000已经在使用呢?使用8001?这看起来有点特别,我想是的.

显然,我不是第一个提出这个问题的人; IANA维护一个端口号列表...这导致我进入未分配的范围(48620-49150).我想我们应该真的使用这些,但为什么没有更多的程序员这样做呢?你如何决定使用哪个; 如果每个人都从#1开始,那么我们都将使用48620.

port-number

63
推荐指数
3
解决办法
4万
查看次数

检查进程是否正在运行

我正在尝试检查进程是否正在运行.如果它正在运行,我想要一个'OK'的返回值,如果不是返回值'Not OK'.如果这是正确的术语,我只能使用'ps'而不附加任何其他参数(例如ps -ef).我的代码是:

if ps | grep file; then  echo 'OK'; else  echo 'NO'; fi
Run Code Online (Sandbox Code Playgroud)

这个问题是它没有搜索确切的进程并且总是返回'OK',我不想要显示所有信息我只想知道文件是否存在.

linux bash grep process

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

类型'System.Int32'的表达式不能用于返回类型'System.Object'

我正在尝试生成一个简单的脚本系统,用于打印标签.我在过去做过这个没有问题的反射,但我现在正在尝试使用Lambda函数,以便我可以缓存函数以便重用.

我到目前为止的代码如下......

public static string GetValue<T>(T source, string propertyPath) {

    try {

        Func<T, Object> func;

        Type type = typeof(T);
        ParameterExpression parameterExpression = Expression.Parameter(type, @"source");
        Expression expression = parameterExpression;
        foreach (string property in propertyPath.Split('.')) {
            PropertyInfo propertyInfo = type.GetProperty(property);
            expression = Expression.Property(expression, propertyInfo);
            type = propertyInfo.PropertyType;
        }

        func = Expression.Lambda<Func<T, Object>>(expression, parameterExpression).Compile();

        object value = func.Invoke(source);
        if (value == null)
            return string.Empty;
        return value.ToString();

    }
    catch {

        return propertyPath;

    }

}
Run Code Online (Sandbox Code Playgroud)

这似乎在某些情况下有效,但在其他情况下却失败了.问题似乎在于我试图将值作为对象返回 - 无论实际数据类型如何.我试图这样做是因为我不知道在编译时数据类型是什么,但从长远来看,我只需要一个字符串.

每当我尝试访问Int32类型的属性时,我都会收到此消息标题中显示的异常 - 但我也是为Nullable类型和其他类型获取它.当我尝试将表达式编译到函数中时抛出异常.

任何人都可以建议我在保持Lambda功能的同时以不同的方式解决这个问题,以便我可以缓存访问器吗?

.net c# lambda

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