在不添加服务引用的情况下,在.NET Core中使用WCF可以通过以下步骤实现:
System.ServiceModel
和System.ServiceModel.Http
NuGet包。[ServiceContract]
public interface IMyService
{
[OperationContract]
string GetData(int value);
}
public class MyService : IMyService
{
public string GetData(int value)
{
return $"You entered: {value}";
}
}
Startup.cs
文件中的ConfigureServices
方法中添加以下代码,以配置WCF服务:services.AddSingleton<IMyService, MyService>();
Startup.cs
文件中的Configure
方法中添加以下代码,以启用WCF服务:app.UseEndpoints(endpoints =>
{
endpoints.MapService<IMyService>(new ServiceHostFactory(), "/MyService");
});
HttpClient
发送POST请求:using (var client = new HttpClient())
{
var content = new StringContent("{\"value\": 10}", Encoding.UTF8, "application/json");
var response = await client.PostAsync("http://localhost:5000/MyService/GetData", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
这样,你就可以在.NET Core中使用WCF服务而不需要添加服务引用。请注意,以上示例仅适用于基于HTTP的WCF服务。如果你的WCF服务使用其他协议(如TCP或MSMQ),则需要进行相应的配置。
领取专属 10元无门槛券
手把手带您无忧上云