gpt4 book ai didi

c# - 认识 WCF 解决方案

转载 作者:行者123 更新时间:2023-12-04 17:47:15 26 4
gpt4 key购买 nike

我是 .NET 网络服务开发的新手。现在我正在分析一个包含几十个项目的大解决方案。我有一个使用 Web 服务的项目,我想知道它是 WCF 服务 还是其他类型的服务,例如 Web API...
过去我在 .NET 中使用 ASMX Web 服务,您可以通过其文件扩展名识别 ASMX Web 服务。但是在这里我没有看到项目中有任何特殊的扩展。我读过 WCF 服务如果托管在 IIS 中则有 .svc 文件。但是这个项目没有 .svc 文件。那么,将 WCF 服务与 .NET 中的其他 Web 服务区分开来的主要特征是什么。解决方案的结构如下:

-Solution  
+-CreateDocWebServiceInterface
+-CreateDocWebService
+-...

CreateDocWebServiceInterface 看起来像这样:

namespace CreateDocWebServiceInterface
{
/// <summary>
/// </summary>
[ServiceContract(Name = "ICreateDocWebService", Namespace = "http://www.standardlife.de/CreateDocWebService")]
[RequiredParametersBehavior]
[ServiceKnownType(typeof(Bookmark))]
[ServiceKnownType(typeof(List<Bookmark>))]
public interface ICreateDocWebService
{
[OperationContract]
byte[] CreateDoc(OutputFormat OutputFormat, bool DuplexPrinting, List<Document> Documents);
}
}

CreateDocWebService 看起来像这样:

namespace CreateDocWebService
{
// single threaded, but each request is handled concurrent !
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single, Namespace = "http://www.blablabla.de/CreateDocWebService")]
public class CreateDocWebService : ICreateDocWebService
{
public byte[] CreateDoc(OutputFormat outputFormat, bool duplexPrinting, List<Document> documents)
{
bla bla bla
}
}
}

它可能是带有 Web API 的 Web 服务,但据我所知,Web API Web 服务由 controllers 组成,这些 controllers 派生自 ApiController ?!(这是正确的并且是 Web Api Web 服务的独特特征吗?)这是 WCF 服务吗? WCF 服务和 Web API Web 服务的独特特征是什么

最佳答案

这是一个 WCF 项目,因为您的接口(interface)被 [ServiceContract] 包围。

另一种方法,如果您想知道它是 WCF 项目还是 ASP.NET Web 服务,只需在文件资源管理器中打开项目的文件夹即可。您可以将鼠标悬停在图标上,工具提示将显示项目类型,如图所示。此外,您可以查看文件资源管理器中的类型列,它也显示在那里。

WCF Web 服务项目: WCF Web Service

ASP.NET 网络服务项目: enter image description here

另请注意,如果您的项目在其 Properties 文件夹中有 Resources.Designer.cs 或 Settings.Designer.cs,则它可能是 WinForms 应用程序。

关于c# - 认识 WCF 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47909781/

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