C# 如何使用web请求通过身份验证调用web服务

C# 如何使用web请求通过身份验证调用web服务,c#,web-services,webrequest,C#,Web Services,Webrequest,我有需要验证的web服务 public class WebService : System.Web.Services.WebService { public AuthHeader Authentication; [WebMethod] [SoapHeader("Authentication", Required = true)] public void Hello(string name) { string result = "";

我有需要验证的web服务

public class WebService : System.Web.Services.WebService
{
    public AuthHeader Authentication;

    [WebMethod]
    [SoapHeader("Authentication", Required = true)]
    public void Hello(string name)
    {
        string result = "";
        if (Authentication.Username == "test" && Authentication.Password == "test")
        {
            result = "hello " + name;
        }

        Context.Response.Write(new JavaScriptSerializer().Serialize(result));
    }
}

public class AuthHeader : SoapHeader
{
    public string Username;
    public string Password;
}
我过去常常这样调用web服务

        WebRequest request = WebRequest.Create(url);
        WebResponse ws = request.GetResponse();

        string result = string.Empty;
        using (System.IO.StreamReader sreader = new System.IO.StreamReader(ws.GetResponseStream()))
        {
            result = sreader.ReadToEnd();
        }

但我不知道如何使用身份验证。如何设置web请求的头以进行身份验证?

根据此msdn资源:
WebRequest
具有名为
凭据的属性

在子类中重写时,获取或设置网络 用于通过Internet验证请求的凭据 资源


尝试使用它,看看它是否有效。

根据此msdn资源:
WebRequest
有一个名为
Credentials
的属性

在子类中重写时,获取或设置网络 用于通过Internet验证请求的凭据 资源

试着使用它,看看它是否有效