小编Kra*_*ssi的帖子

在PHP中尝试/捕获块不捕获异常

我试图从这个页面运行这个例子#1:http://php.net/manual/en/language.exceptions.php

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero.');
    }
    return 1/$x;
}
try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}
// Continue execution
echo "Hello World\n";
?>
Run Code Online (Sandbox Code Playgroud)

然而,我得到的不是所需的输出:

0.2
Fatal error: Uncaught exception 'Exception' with message 'Division by zero.' 
in xxx:
7 Stack trace: #0 xxx(14): inverse(0) #1 {main} thrown in xxx on line 7
Run Code Online (Sandbox Code Playgroud)

我使用的开发环境是UniServer 3.5 …

php

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

ASN.1 SEQUENCE(OF)实际标签值

我发现了很多关于SEQUENCE(OF)ASN.1数据类型的标记值的矛盾信息:

维基百科声称它是0x10和0x30:

http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One - > 0x30

http://en.wikipedia.org/wiki/Basic_Encoding_Rules - > 0x10

根据微软的说法,它是0x30:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb540799%28v=VS.85%29.aspx

在Bouncycastle的资料中可以找到:

public const int Sequence = 0x10;
Run Code Online (Sandbox Code Playgroud)

所以它基本上是0x10和0x30之间的联系.你知道真正的价值是或者我错过了什么吗?

asn.1 ber

11
推荐指数
1
解决办法
5901
查看次数

Java的编译器没有保留泛型方法注释?

我目前遇到Java的泛型类型擦除和运行时注释的问题,我不确定我是做错了什么,或者它是Java编译器中的错误.考虑以下最小的工作示例:

@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface MyAnnotation {
}

public interface MyGenericInterface<T> {
    void hello(T there);
}

public class MyObject {
}

public class MyClass implements MyGenericInterface<MyObject> {
    @Override
    @MyAnnotation
    public void hello(final MyObject there) {
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我使用反射查询有关MyClass.hello的信息时,我希望hello方法仍然具有注释,但它不会:

public class MyTest {

    @Test
    public void testName() throws Exception {
        Method[] declaredMethods = MyClass.class.getDeclaredMethods();
        for (Method method : declaredMethods) {
            Assert.assertNotNull(String.format("Method '%s' is not annotated.", method), method
                    .getAnnotation(MyAnnotation.class));
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

(意外)错误消息如下所示:

java.lang.AssertionError:方法'public void test.MyClass.hello(java.lang.Object)'未注释.

用Java 1.7.60测试.

java generics reflection annotations

11
推荐指数
1
解决办法
1071
查看次数

Windows Phone 7应用程序+ WCF + SSL +用户名身份验证

我用WCF开发了一个测试服务,我试图从Windows Phone 7应用程序中使用它,但是当从服务调用一个方法时,我得到了一个奇怪的例外:

https://server/Service.svc上没有可以接受该消息的端点 .这通常是由错误的地址或SOAP操作引起的.

WCF服务使用具有UserNameOverTransport身份验证和SSL的自定义绑定.对于授权,我使用UserNamePasswordValidator的实现.如果我尝试从控制台或silverlight应用程序使用该服务(启用跨域策略) - 它工作正常(授权).最奇怪的是,为WP7应用程序生成的ServiceReferences.ClientConfig文件与为silverlight应用程序生成的配置文件完全相同.

我不知道我的服务有什么问题......

authentication wcf windows-phone-7

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

WCF身份验证服务

我对WCF世界相对较新,所以我的新手问题的applogies.我目前正在设计一层WCF服务.其中一个是身份验证服务,所以我提出了以下身份验证机制:

IUserService.TryAuthenticateUser(string username, string password, out string key)
Run Code Online (Sandbox Code Playgroud)

基本上,用户尝试进行身份验证,如果成功 - 他/她收到一个sessionkey/securitykey/whateverkey ......那么每个其他"WCF动作"都需要密钥,例如

IService.GiveMeMyFeatures(string key);
IService.Method1(string key);
Run Code Online (Sandbox Code Playgroud)

这个机制对我来说看起来非常直观,也很容易实现,所以困扰我的是为什么我找不到类似的WCF示例?根据应用程序的体系结构,这个唯一的密钥(实际上是一个具有wcf-side expiration的会话密钥和所有密钥)可以从各种应用程序中使用:对于ASP.NEt它可以存储在cookie中,用于Winform/WPF /移动我想它可以存储在字段中的表单类中等等......

所以这里有问题1:您如何看待这种方法?

我还读过,我可以使用内置的ASP.NET身份验证服务(使用成员资格提供程序等...如果我理解正确的话).从架构的角度来看,我真的不喜欢这种方法,因为从ASP.NET页面进行身份验证时,工作流将是这样的:ASP.NET - > WCF - > ASP.NET身份验证服务 - >响应

在这种情况下,还可以绕过WCF层并调用auth.服务方法直接来自asp.net页面.我知道通过WCF层获取每个身份验证请求,我将失去一些性能,但对我来说,拥有一个漂亮的分层架构非常重要......

这里是第2个问题:这个方法比第一个有什么优点/缺点,为什么它如此受欢迎,从架构的角度来看它有点不对?

我还读到,我可以为每个WCF方法调用发送用户凭据,并使用内置机制对请求进行身份验证和响应.

Q3:如果这种方法怎么看?

总而言之 - 显然有很多身份验证方法,但您认为哪一种最好也是最通用的(考虑到将从asp.net/wpf/mobile/etc调用WCF服务...)?

谢谢是提前:)

.net c# authentication wcf

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

标签 统计

authentication ×2

wcf ×2

.net ×1

annotations ×1

asn.1 ×1

ber ×1

c# ×1

generics ×1

java ×1

php ×1

reflection ×1

windows-phone-7 ×1