503调用WebMethod C#时出错

时间:2014-10-01 10:14:24

标签: c# asp.net web-services visual-studio-2013

所以我制作WebServices比较新,所以请耐心等待。

我在服务器上创建了一个带有简单helloword webmethod的Webservice,然后将其部署在IIS 7.5中。

致电' 。 asmx '在我的浏览器中的文件服务器上,我可以看到所有的web方法,我可以调用它们。

我制作了一个客户端应用程序,我通过"添加了我的web服务。添加数据源"在Visual Studio 2013中,它看到我的所有webmethod都没问题。

但是当我尝试在代码中调用我的web服务并尝试调用我的webmethod时,它给了我一个例外。

Additional information: The request failed with HTTP status 503: Service Unavailable.    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at WebserviceConnection.WebReference.WebService1.HelloWorld() in c:\Users\Daniel\Documents\Visual Studio 2013\Projects\WebserviceConnection\WebserviceConnection\Web References\WebReference\Reference.cs:line 78
   at WebserviceConnection.Form1..ctor() in c:\Users\Daniel\Documents\Visual Studio 2013\Projects\WebserviceConnection\WebserviceConnection\Form1.cs:line 21

当我在运行webservice的服务器上创建相同的应用程序时,根本没有任何问题。

所以我已经尝试了以下事项:
- 我检查IIS中的应用程序池,是否已关闭。
- 检查日志,我找不到任何明确的原因。

我可以在我想要的任何计算机上通过浏览器调用我的web服务,它只在我的C#应用​​程序中调用webmethod时给我这个错误。

客户C#代码:

namespace ConsumeWebserviceTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            WebService1 te = new WebService1();
            label1.Text = te.HelloWorld();
        }
    }
}

Webservice代码:

namespace WebServiceTests
{
    /// <summary>
    /// Summary description for WebService1
    /// </summary>
    [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 WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
    }
}

我在.NET Framework 4.0上运行,所以我想知道为什么它会给我这个例外。

1 个答案:

答案 0 :(得分:0)

基本上503表示

503服务不可用 The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.

我的建议:请检查服务器名称及其运行与否

了解更多Http状态Refer