C# 如何使用web请求通过身份验证调用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 = "";
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验证请求的凭据
资源
试着使用它,看看它是否有效