代码之家  ›  专栏  ›  技术社区  ›  kenwarner

wcf服务库与类库项目类型

  •  23
  • kenwarner  · 技术社区  · 15 年前

    wcf服务库做什么而普通类库做不到?

    编辑:我发布了自己的答案。我有什么遗漏吗?它们基本上都只是添加了一些模板类的类库吗?

    4 回复  |  直到 11 年前
        1
  •  25
  •   kenwarner    15 年前

    我创造了两者并进行了比较。这就是我发现的。

    WCF服务库

    • 添加对的引用 System.Runtime.Serialization System.ServiceModel . 不包含对 System.Data.DataSetExtensions 就像类库一样。
    • 包含示例服务类 IService1 , CompositeType Service1
    • 添加带有wshttpbinding和mexhtpbinding服务端点的app.config
    • 添加 /client:"WcfTestClient.exe" 作为项目属性中的调试命令行选项
    • 添加一个 WCF Options 项目属性中的选项卡。此选项卡包含在同一解决方案中调试另一个项目时启动WCF服务主机的选项
    • 启用一个 Sign the ClickOnce manifests 项目属性的“签名”选项卡中的选项。此选项在类库中被禁用
        2
  •  5
  •   John Saunders    15 年前

    它还在f5上运行wcf服务主机实用程序。这个 /client 您注意到的开关正在传递给wcf服务主机,以告诉它要启动哪个客户机。在这种情况下,它被告知启动wcf测试客户机。

    这给了你一个很好的 F5 经验。在服务中设置断点,点击 F5 ,使用测试客户端调用服务操作,将命中断点。

        3
  •  2
  •   Blazemonger    12 年前

    我在VS2010项目中进行了测试,使用类库作为WCF托管类型,但它无法生成WSDL或代理类。

    wcf项目不同于普通类库,因为它在解决方案/项目引用中添加了许多dll,而且还添加了 (服务1.svc) 模板,需要在IIS服务器中部署,并使用svcutil.exe创建2个输出文件。

        4
  •  0
  •   Cătălin Rădoi    11 年前

    如上所述 here :

    在第一个propertyGroup元素中,执行以下操作:

    查找productversion元素。更新产品版本以匹配以下内容:

    <ProductVersion>8.0.50727</ProductVersion>
    

    在assemblyname元素下面,添加以下元素:

    <ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    
    <StartArguments>/client:"WcfTestClient.exe"</StartArguments>
    

    滚动到文件末尾,在import元素下面添加以下扩展名:

    <ProjectExtensions>
        <VisualStudio>
          <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
            <WcfProjectProperties>
              <AutoStart>True</AutoStart>
            </WcfProjectProperties>
          </FlavorProperties>
        </VisualStudio>
      </ProjectExtensions>