C# 从控制器连接到web服务时发生ASP.NET MVC-401错误

C# 从控制器连接到web服务时发生ASP.NET MVC-401错误,c#,asp.net-mvc,asp.net-mvc-3,web-services,cross-domain,C#,Asp.net Mvc,Asp.net Mvc 3,Web Services,Cross Domain,我试图对一个“web服务”进行跨域调用(我这么说是因为它只是一个基于查询字符串值返回XML的站点),但运气不好。每次提出请求时,我都会收到一个(401)Unauthorized错误。但是,我可以将链接放在浏览器中,并更改查询字符串以获得结果,这样我就可以从计算机访问该站点。下面是我试图使用的代码,有人能提供任何建议吗 对web服务的调用源于对页面视图的Ajax调用。该代码粘贴在下面: function GetProgramDetails() { var searchItem = $('.

我试图对一个“web服务”进行跨域调用(我这么说是因为它只是一个基于查询字符串值返回XML的站点),但运气不好。每次提出请求时,我都会收到一个
(401)Unauthorized
错误。但是,我可以将链接放在浏览器中,并更改查询字符串以获得结果,这样我就可以从计算机访问该站点。下面是我试图使用的代码,有人能提供任何建议吗

对web服务的调用源于对页面视图的Ajax调用。该代码粘贴在下面:

function GetProgramDetails() {
    var searchItem = $('.searchbox').val();
    var request = $.ajax({
        type: 'POST',
        url: '@Url.Action("compSearch", "Home")',
        data:
            {
                searchFilter: searchItem,
                url: location.protocol + '//' + location.host 
            },
        dataType: 'html',
        success: function (data) {
            console.log(data);
            alert(data);
        },
        error: function (data) {
            console.log(data);
            alert("Unable to process your resquest at this time.");
        }
    });
}
这将调用以下视图的控制器:

    [HttpPost]
    public string compSearch(string searchFilter, string url)
    {
        string results = string.Empty;
        string URL =
            "http://quahildy01/xRMDRMA02/xrmservices/2011/OrganizationData.svc/AccountSet?$select=AccountId,Name,neu_UniqueId&$filter=startswith(Name,'" +
            searchFilter + "')";

        try
        {
            WebRequest myWebRequest = WebRequest.Create(URL);
            myWebRequest.Headers.Add("Access-Control-Allow-Origin", url);

            WebResponse myWebResponse = myWebRequest.GetResponse();
            Stream myFileStreamResult = myWebResponse.GetResponseStream();
            Encoding encoder = System.Text.Encoding.GetEncoding("utf-8");
            StreamReader readStream = new StreamReader(myFileStreamResult, encoder);

            results = readStream.ReadToEnd();
        }
        catch (Exception ex)
        {

            results = ex.InnerException.ToString();
        }

        return results;
    }

:-只是好奇,你没有使用任何[Authorize]关键字,对吗?