Как использовать этот веб-сервис? - PullRequest
0 голосов
/ 13 июня 2011

Я впервые создаю веб-сервис.Я не уверен, что моя реализация неверна, но я стараюсь использовать как класс.Проблема в том, что когда я пытаюсь потреблять, я запутываюсь и не могу установить значения свойств.

вот веб-сервис.

public class Service1 : System.Web.Services.WebService
{
    private bool _isUserActive { get; set; }
    private bool _isCredentialValid { get; set; }
    public string email { get; set; }
    public string pass { get; set; }
    public int customerID { get; set; }

    [WebMethod]
    public bool VerifyUserCredential()
    {
        bool result = false;

        PURLDataContext purl = new PURLDataContext();
        try
        {

            var res = purl.Sel_User(email.ToLower(), pass);

            if (res != null)
                result = true;
            _isUserActive = true;
            _isCredentialValid = true;
        }
        catch (Exception ex)
        {
            if (ex.Message == "Account is inactive, please contact your administrator!")
            {
                _isUserActive = false;
                _isCredentialValid = false;
            }
            else
                _isCredentialValid = false;
            //Invalid credentials.
        }

        return result;
    }

    [WebMethod]
    public ArrayList retrieveCustomerInfo()
    {
        ArrayList customerInfo = new ArrayList();
        string validate = "Please Validate";


        if (_isCredentialValid)
        {
            PURLDataContext purl = new PURLDataContext();
            var customer = purl.Sel_Recipient(customerID);

            foreach (var c in customer)
            {
                customerInfo.Add(c);
            }

        }
        else
            customerInfo.Add(validate);

        return customerInfo;

    }
}

Вот чтоЯ пытаюсь сделать, чтобы потреблять.

        PURLServices.Service1SoapClient webserv = new Service1SoapClient();

        bool result;
        ArrayOfAnyType array = new ArrayOfAnyType();

        webserv.email = "email@email.com";
        webserv.pass = "pass";
        webserv.customerID = 12345;

        result = webserv.VerifyUserCredential();
        array = webserv.retrieveCustomerInfo();

Спасибо за любую помощь /

1 Ответ

0 голосов
/ 13 июня 2011

Вы не хотите пытаться использовать подобные свойства. Ваш метод должен выглядеть примерно так:

public bool VerifyUserCredential(string userName, string password)
{
 // method body here

}

Возможно, вы захотите вернуть какой-нибудь токен доступа, который сервер будет кешировать. Затем это можно передать в другие методы, чтобы показать, что пользователь действителен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...