CustomValidator使用username =“test”和password =“test”,但没有别的

时间:2011-06-03 16:13:58

标签: wcf

我正在测试WCF的CustomUserNamePassword Validator,到目前为止它只有在我验证用户名测试和密码测试时才有效。如果我使用其他内容,例如test1作为用户名,test1作为密码,则会抛出FaultException。以下是验证器的代码:

public override void Validate(string userName, string password)
{
    if (userName != "test" || password != "test")
            throw new FaultException("Username and Password Failed");
}

我正在使用控制台应用程序连接到IIS托管服务,我正在调用实例化这样的凭据:

client.ClientCredentials.UserName.UserName = "test";
client.ClientCredentials.UserName.Password = "test";

以上是有效的,但是如果我将验证器硬编码为类似test1和test1的东西,那么:

client.ClientCredentials.UserName.UserName = "test1";
client.ClientCredentials.UserName.Password = "test1";

即使我有以下情况,上述内容也会失败:

public override void Validate(string userName, string password)
{
    if (userName != "test1" || password != "test1")
            throw new FaultException("Username and Password Failed");
}

我正在使用svcutil构建app.config和ProxyCode。这与它有什么关系吗?我确实重新生成了代码。

我弄清楚问题是什么。我有3个解决方案(一个WCF服务库,一个使用服务库的WCF网站,以及一个控制台应用程序,它具有从WCF服务网站url wsdl生成的代码)。我正在更新WCF服务库和控制台应用程序,但我没有更新该网站的参考。一旦我这样做,一切正常。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

[更新的答案,我误解了这个问题]

服务器端是否正在重新部署?您可以尝试更新应用程序,或尝试将调试器附加到服务器端,以查看是否正在运行正确的代码。