我实际上是 C# 的新手,我目前正在构建一个简单的基本 Restful WCF Web 服务,它使用自定义标头授权来处理请求
public void validateHeader(string requestBody)
{
try
{
IncomingWebRequestContext WebReq = WebOperationContext.Current.IncomingRequest;
string requestedURL = WebReq.UriTemplateMatch.RequestUri.OriginalString;
string clientHeader = WebReq.Headers["Authorization"];
if (clientHeader.Substring(0, 3) != "amx")
{
BuildUnauthorizedError("Unknown header");
}
然后我使用 Postman 对其进行了调试,并添加了 Authorization Header 值,它可以正常工作
但问题是,当我尝试使用此控制台应用程序调试 WCF 时:
try
{
string requestURL = "http://localhost:62146/ORIListenerService.svc/GetDataStatusPembayarans";
var request = (HttpWebRequest)WebRequest.Create(requestURL);
request.Method = "GET";
request.ContentType = "application/json";
request.PreAuthenticate = true;
request.Headers.Add("Authorization","amx 12345");
var response = (HttpWebResponse)request.GetResponse();
WCF 上甚至没有收到 Authorization 标头
我还尝试用随机文本填充标题值,除了授权之外,它都在 WCF 上收到。我是遗漏了什么还是我做错了?
提前致谢