隐藏C#web-service中的函数输入参数?

时间:2011-06-13 07:54:03

标签: c# web-services user-input

我有一个问题,是否可以隐藏Web服务方法的输入。

假设第四个参数将密码作为输入,我们希望此输入仅用于客户端。

该函数有4个输入参数,是否有可能仍然具有该函数的所有输入参数,但是当通过Web浏览器访问.asmx文件时,第四个参数是不可见的?这是为了消除尝试访问服务并尝试输入随机数据的用户。

Parameter input in C# web service.

编辑:将此放在一个示例中。

我们有一个iPhone应用程序,当用户使用某个功能时,一些参数会被发送到Web服务以及第四个参数,该参数应该包含某种键以验证用户是否在实际的iPhone上使用应用程序而不是访问Web服务的人试图访问数据。

public someVariable someFunction(someVar parameter1,someVar parameter2,someVar parameter3,someVar parameter4)
{

    if (key.isMatch(parameter4))
    {

       The user is on an iPhone using the app : Proceeding.

    }
    else
       The user is not on an iPhone, cancelling function.

}

2 个答案:

答案 0 :(得分:2)

你可以阻止从webbrowser调用你的方法,通过扩展SoapExtension并获得额外的信息作为soapheader,这可以由最终用户app发送

查看此Using SOAP Header and SOAP Extensions in a Web Service

答案 1 :(得分:0)

您正在使用的界面不应该用于测试。

如果您需要在生产中使用它,您应该实现自己的页面,因此参数4的TextBox将被屏蔽。