识别WCF解决方案

时间:2017-12-20 15:46:19

标签: c# web-services wcf asp.net-web-api asmx

我是.NET中Web Service Developement的新手。现在我正在分析几十个项目的重要解决方案。我有一个使用网络服务的项目,我想知道它是 WCF服务还是其他类似 Web API ...... 过去,我在.NET中使用了 ASMX Web服务,您可以通过其文件扩展名识别 ASMX Web服务。但是在这里我没有看到项目中的任何特殊扩展。我已经读过,如果WCF服务托管在IIS中,它们会有.svc文件。但是这个项目没有.svc文件。那么,在.NET中区分WCF服务与其他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服务由控制器组成,它来自ApiController?!(这是正确的还是Web Api Web Services的独特特性?) 那么这是一个WCF服务吗? WCF服务和Web API Web服务的独特特性是什么

1 个答案:

答案 0 :(得分:1)

这是一个WCF项目,因为您的界面被./assets/img/avatars包围。

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

WCF Web服务项目: WCF Web Service

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

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