使用httpwebrequest调用Web服务方法 - 无法连接到远程服务器错误

时间:2012-04-24 14:26:11

标签: c# web-services httpwebrequest

我正在调用我的Web服务的特定方法,但是只要我创建一个新的StreamWriter对象,就会出现上述错误。我不确定为什么会这样,因为我以前从未这样做过。我用来执行此操作的代码是使用此链接编写的 - Invoking an ASP.NET web service method via an http request作为参考。这是片段 -

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost/Helpers/Symbology.asmx");
httpWebRequest.Headers.Add("SOAPAction", "\"http://tempuri.org/GetRelatedSymbols\"");
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
JavaScriptSerializer serializer = new JavaScriptSerializer();

*using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))*//error occurs here
{
    string json = serializer.Serialize(relatedSymbols);
    streamWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
string responseText = String.Empty;
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
     responseText = streamReader.ReadToEnd();
}

下面是我的网络服务代码片段 -

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class Symbology: System.Web.Services.WebService
{

    [WebMethod]
    public List<string> GetRelatedSymbols()
    {
        try
        {
             //code here
        }
        catch(){}
    }
}

任何人都可以帮忙指出我可能做错了吗?

2 个答案:

答案 0 :(得分:0)

当我运行网络服务器时,我总是需要连接这样的网址 http://localhost:PORTNUMBER/ ...

答案 1 :(得分:0)

我刚刚发布了一个关于多个启动项目的答案,关于另一个关于使用网络服务的网站的问题。

这里的一些说明...... Web Reference Help: No connection could be made because the target machine actively refused it

这假设您的两个启动项目都在同一个解决方案中。