gpt4 book ai didi

.net - 如何使用 HTTP Get 调用 WCF web 服务

转载 作者:可可西里 更新时间:2023-11-01 15:26:58 25 4
gpt4 key购买 nike

我想使用 url 查询字符串调用 wcf web 服务。就像我有一个公开添加两个整数的 ADD 方法的网络服务。我想使用 http://mywebserviceAddress/Add?x=4&y=5 调用此服务

这个可以吗?我是网络服务的新手,这对你们大多数人来说可能很容易。

最佳答案

看看下面的例子是否对你有帮助:

服务契约(Contract)

[ServiceContract] 
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate="Add/{x}/{y}",ResponseFormat=WebMessageFormat.Xml)]
int Add(string x, string y);
}

服务实现:

public class Service1 : IService1
{
public int Add(string x, string y)
{
return Convert.ToInt32(x) + Convert.ToInt32(y);
}
}

网络配置:

<system.serviceModel>
<services>
<service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior">
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="webBehavior" contract="WcfService1.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="WcfService1.Service1Behavior">
<serviceMetadata httpGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>

客户端代码:

WebRequest request = WebRequest.Create("http://localhost:2156/Service1.svc/Add/2/3");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("Request to add numbers: ");
Console.WriteLine("Request status: " + response.StatusDescription);
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine("Response: \n" + responseFromServer);
Console.ReadLine();

关于.net - 如何使用 HTTP Get 调用 WCF web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3276533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com