wcf windows服务 调试_sl+wcf调试wcf代码问题 - CSDN
精华内容
参与话题
  • WCF Debug 调试

    万次阅读 多人点赞 2013-05-17 14:53:00
    关于WCF调试,MSDN给出如下说明,可能是由于我的水平问题,个人无法完全看懂,所以自己总结了一点WCF调试技巧。仅供参考。 如何开始调试 WCF 服务:  通常WCF可以部署成Windows service 和Web service。 1....

    关于WCF的调试,MSDN给出如下说明,可能是由于我的水平问题,个人无法完全看懂,所以自己总结了一点WCF的调试技巧。仅供参考。

    如何开始调试 WCF 服务: 

    通常WCF可以部署成Windows service 和Web service。

    1.对于WebService通常后缀都是*.svc对于这类我通常有2种方式对其调试

    a.       新建一个控制台程序,通过Addweb Reference的方式加入新发布或者待测试的本地service进行调试. 然后通过附加线程的方式,进行跟踪。如图:

    选择w3p.exe,附加线程。

    b.      通过系统提供的WcfTestClient.exe进行UI跟踪。这种方法是不需要附加线程的。如图:

    图1.

    图2.

    选择一个方法输入参数进行测试。

    2.     对于Windows Service或者说是没有*.svc的WCF如何进行调试。

    a.       创建一个app,加入相应的all。

     

    注意事项: 如果Service里引入了其他service,那么一定要在相应app.config文件里加入相应的endpoint。

     

     

     


    展开全文
  • 本篇实例介绍如何使用Windows Service来寄宿 WCF服务:1. 添加 WCF Service Library 工程,这一步没什么好说的。 为了简单测试,只保留下面一个服务方法:public class Service1 : IService1 { pub

    本篇实例介绍如何使用Windows Service来寄宿 WCF服务:

    1. 添加 WCF Service Library 工程,这一步没什么好说的。
        为了简单测试,只保留下面一个服务方法:

    public class Service1 : IService1
    {
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }
    }

    2. 添加一个 Windows Service 工程,实现 Service1
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }
    
        private ServiceHost _host;
    
        protected override void OnStart(string[] args)
        {
            _host = new ServiceHost(typeof(WinSvcHostWcfLib.Service1));
            _host.Open();
        }
    
        protected override void OnStop()
        {
            if (_host != null)
            {
                _host.Close();
                (_host as IDisposable).Dispose();
            }
        }
    }
    注意:ServiceHost 里的 typeof 里是 Wcf 的 Service,因为都叫 "Service1" 所以注意用 namespace 区分。
       
        添加 WCF Service Library 工程的引用 以及 System.ServiceModel.dll
        在 Service1.cs (Windows Service类) 的设计窗体上,右击点选“Add Installer”, 会在工程里添加一个 ProjectInstaller 类
        

        (1)修改ProjectInstaller.cs设计器中的 serviceInstaller1 属性的 ServiceName 为 “WinSvcHostWcf”
        (2)修改ProjectInstaller.cs设计器中的 serviceProcessInstaller1 属性的 Account 为 LocalSystem (默认为User)
        (3)为了能够Debug Service,在工程编译属性里加上下面的脚本,用 installutil.exe 安装服务,$(TargetPath) 是 Project 编译宏表示输出的绝对路径
        先删除:
        %systemroot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u $(TargetPath)
        再添加
        %systemroot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe $(TargetPath)
        

        (4)编译 WinSvcHost 工程,就可以看到在 WinSvcHostWcf 服务在 Windows Service 服务列表中了。(用控制台命令 Services.msc 查看)
        

    3. 调试 Windows Service,利用 Debug -> Attach to Process 就可以对托管的进程进行 Debug。
    当然 OnStart 里的代码是无法调试的,因为只有正常启动后才能看到这个托管进程。
    但可以用一个Thread来启动Service。加上Thread.Sleep(),延迟真实代码的调用。下面的代码用delegate.BeginInvoke来延迟调用。
    还可以利用 OnStart 的输入参数 args 来控制是否要延迟,使调试更灵活。


    4. 创建一个 Console 工程来测试 WCF 服务正常运行:

    static void Main(string[] args)
    {
        var channel = new ChannelFactory<WinSvcHostWcfLib.IService1>(new WSHttpBinding(), 
            "http://localhost:8732/WinSvcHost/Service1/");
        var svc = channel.CreateChannel();
        var result = svc.GetData(300);
        Console.WriteLine(result);
        Console.Read();
    }
    
    运行输出:You entered: 300


    5. 创建安装部署程序
    (1) 添加主输出

    (2) 修改自定义Action,在 WinSvcHost里已经添加了ServiceInstaller,在下面步骤中调用主输出即可。


    注意:先运行 installutil.exe /u 清理debug时安装的 WinSvcHostWcf 服务,再运行生成的 msi 安装程序。

    展开全文
  • 介绍VS2008中的WCF工具

    千次阅读 2008-03-27 11:04:00
    WCF开发工具 大家都听说WCF 是很酷的.net技术,可是如何迈出激动人心的WCF服务开发的第一步呢?大家也都知道,开发一个服务,并不只是完成服务本身的功能,还要写主机程序来运行服务,写客户端程序来测试服务,如果...
     
    

    WCF开发工具

     

    大家都听说WCF 是很酷的.net技术,可是如何迈出激动人心的WCF服务开发的第一步呢?大家也都知道,开发一个服务,并不只是完成服务本身的功能,还要写主机程序来运行服务,写客户端程序来测试服务,如果能够只专注于开发服务本身,是不是更棒?

     

    我们团队在Visual Studio 2008中开发了一系列的工具,帮助用户提升WCF服务的开发体验,同时也使得初学者的入门更为容易。想象一下,创建一个简单的WCF服务,创建一个主机运行它,并且创建了一个测试客户端来调试它,这些都可以在一分钟内完成!以下是对这一全新体验的简单描述:

     

    1.启动Visual Studio 2008

    2.Visual Basic或者Visual C#创建一个新的WCF Service Library

    3.F5!

    4.WCF服务主机WCF测试客户端自动完成服务的运行和承载

    5.选择服务节点,开始调用服务进行调试

     

    下面是对这些工具的进一步介绍:

     
     

    WCF服务主机

     

    WCF服务项目中包含一个或多个服务,这个工具为每个有效的WCF服务创建主机,从而运行这些服务。

     

    WCF服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service LibraryVS2008服务模板创建的服务。

     

    当服务在这个工具中运行时,可以查看它们的详细信息。

     

    WCF测试客户端

     

    顾名思义,这个工具就是一个用来测试服务的客户端。它可以显示待调试服务合同和配置信息,并且可以随着服务端的更新也在每次启动时自动更新。WCF测试客户端集成在Visual Studio 2008中,当用户通过F5调试由WCF服务模板创建的服务时,WCF服务主机和WCF服务客户端都会自动被调用运行。

     

    WCF测试客户端支持的服务类型包括服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service LibraryState Machine Workflow Service LibraryVS2008服务模板创建的服务。

     

    WCF服务模板

     

    这些模板可以帮助用户对WCF.Net3.5的相关技术快速入门。所有这些模板都可以支持两种语言:VBC#

    技术领域

    项目模板

    子项目模板

    一般WCF 技术

    WCF Service Library

    WCF Service

    WCF Service Application (Web Application)

    WCF Service  (Web Application)

    WCF Service (Website)

    WCF Service (Website)

    .Net framework 3.5 Workflow 服务技术

    Sequential Workflow Service Library

    WF Sequential Service /

    XAML WF Sequential Service

    State Machine Workflow Service Library

    WF State Machine Service / XAML WF State Machine Service

    .Net framework 3.5 Syndication 服务技术

    Syndication Service Library

     

    --

    .Net framework 3.5 Ajax 技术

     

    --

    Ajax-enabled WCF Service (Both Web Application and Website)

     

    添加服务引用和Auto-attaching

     

    当用户需要创建自己的服务端程序时,使用添加服务引用技术可以自动生成这些服务对应的基本的客户端代码。

     

    而使用Auto-attaching技术,可以使得用户从客户端程序到服务端程序的F5调试变得和在同一进程中调试一样简单。

     

    WCF IT Pro 工具:

     

    很多人应该多听说过或者使用过WCF IT Pro工具,因为这些工具的第一版是和Windows Vista一起发布的。现在它们也会作为Visual Studio 2008的一部分被安装。当Visual Studio 2008安装完毕后,你可以在Start Menu/All Programs/Microsoft Windows SDK v 6.0A/Tools目录下找到它们。

     

     

    服务配置编辑器

     

    这个工具提供了用户图形界面(GUI)帮助IT管理员和开发人员创建或更改WCF服务的配置,从而不必直接编辑XML文件。服务配置编辑器支持对WCF bindings, behaviors, services, 以及diagnostics的配置。

     

    你可以直接在Visual Studio 2008中的WCF服务项目中,选中需要编辑的配置文件,使用右键菜单打开这个工具。

     

     

    服务跟踪查看器

     

    这个工具提供了图形化的界面,帮助用户查看、合并和过滤trace消息,从而更方便用户诊断、修复和验证WCF服务中的故障。

     

    有用的链接:

     

    关于WCF 工具:

    http://msdn2.microsoft.com/en-us/library/bb552361.aspx

    http://msdn2.microsoft.com/en-us/library/ms732015.aspx

     

    关于Visual Studio 2008

    http://msdn2.microsoft.com/en-us/vstudio/default.aspx

     

     

    展开全文
  • WCF测试客户端(WCF Test Client)

    万次阅读 2013-08-16 00:53:22
    大家也都知道,开发一个服务,并不只是完成服务本身的功能,还要写主机程序来运行服务,写客户端程序来测试服务,如果能够只专注于开发服务本身,是不是更棒? 我们团队在Visual Studio 2008中开发了一系列的工具,...


    WCF开发工具

    大家都听说WCF 是很酷的.net技术,可是如何迈出激动人心的WCF服务开发的第一步呢?大家也都知道,开发一个服务,并不只是完成服务本身的功能,还要写主机程序来运行服务,写客户端程序来测试服务,如果能够只专注于开发服务本身,是不是更棒?

    我们团队在Visual Studio 2008中开发了一系列的工具,帮助用户提升WCF服务的开发体验,同时也使得初学者的入门更为容易。想象一下,创建一个简单的WCF服务,创建一个主机运行它,并且创建了一个测试客户端来调试它,这些都可以在一分钟内完成!以下是对这一全新体验的简单描述:

    1.启动Visual Studio 2008

    2.用Visual Basic或者Visual C#创建一个新的WCF Service Library

    3.F5!

    4.WCF服务主机WCF测试客户端自动完成服务的运行和承载

    5.选择服务节点,开始调用服务进行调试

    下面是对这些工具的进一步介绍:

    1

    WCF服务主机

    在WCF服务项目中包含一个或多个服务,这个工具为每个有效的WCF服务创建主机,从而运行这些服务。

    WCF服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library等VS2008服务模板创建的服务。

    当服务在这个工具中运行时,可以查看它们的详细信息。

    2

    WCF测试客户端

    顾名思义,这个工具就是一个用来测试服务的客户端。它可以显示待调试服务合同和配置信息,并且可以随着服务端的更新也在每次启动时自动更新。WCF测试客户端集成在Visual Studio 2008中,当用户通过F5调试由WCF服务模板创建的服务时,WCF服务主机和WCF服务客户端都会自动被调用运行。

    WCF测试客户端支持的服务类型包括服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service Library和State Machine Workflow Service Library等VS2008服务模板创建的服务。

    3




    WCF测试客户端(WCF Test Client)是一个用来测试WCF服务程序的调试工具,能够使开发WCF服务更加方便。 本文主要讨论如何在Visual Studio中启用WCF测试客户端的相关技巧。

        在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开。第二种方法是在“Visual Studio命令提示(Visual Studio Command Prompt)”中输入“WcfTestClient”命令,如图1所示:

    CMD

    图1

        Visual Studio不同的项目模板,提供了不同的WCF测试客户端启动方法。下面这张表格是Visual Studio 2010 Beta2中,与WCF相关的项目模板:
     

    项目模板名称

    模板位置

    .NET Framework版本

    WCF服务库

    新建项目 -> WCF结点

    3.0/3.5/4.0

    WCF服务应用程序

    新建项目 -> Web结点

    3.0/3.5/4.0

    WCF工作流服务应用程序

    新建项目 -> WCF结点

    4.0

    WF顺序服务

    新建项目 -> WCF结点

    3.5

    WF状态机服务

    新建项目 -> WCF结点

    3.5

    联合服务库

    新建项目 -> WCF结点

    3.5/4.0

    WCF服务

    新建网站

    3.0/3.5/4.0

    表1






    WCF服务库WF顺序服务WF状态机服务

        启用调试(F5)默认会启动WCF服务主机(WCF Service Host)托管项目中的服务,并且会自动启用WCF测试客户端,请看图2:

    WCF Service Library

    图2

        如果希望F5时,不启动WCF测试客户端,可以通过修改项目属性 -> 调试 -> 命令行参数来实现,如图3所示:

    NoWCFTestClient

    图3

    WCF服务应用程序WCF工作流服务应用程序

        当在“解决方案资源管理器(Solution Explorer)”中,焦点选定在特定服务的.svc或.xamlx文件时,F5会启动WCF测试客户端。请看图4:

    WAP

    图4

        如果希望F5时始终启动IE,可以在.csproj.user文件里增加EnableWcfTestClientForSVC属性配置以禁用WCF测试客户端:

    <Project>

      <ProjectExtensions>

        <VisualStudio>

          <FlavorProperties>

            <WebProjectProperties>

              <EnableWcfTestClientForSVC>False</EnableWcfTestClientForSVC>

            </WebProjectProperties>

          </FlavorProperties>

        </VisualStudio>

      </ProjectExtensions>

    </Project>

        另外,在.csproj文件里还有EnableWcfTestClientForSVC属性的默认值设置。如果.csproj.user文件没有该属性的相关设置,则该属性则使用.csproj文件里默认值:

    <Project>

      <ProjectExtensions>

        <VisualStudio>

          <FlavorProperties>

            <WebProjectProperties>

              <EnableWcfTestClientForSVCDefaultValue>False</EnableWcfTestClientForSVCDefaultValue>

            </WebProjectProperties>

          </FlavorProperties>

        </VisualStudio>

      </ProjectExtensions>

    </Project>

        下表是.csproj.user和.csproj文件相关属性的设置和启动客户端类型的逻辑关系:

    .csproj.user

    文件设置

    True

    False

    未设

    未设

    未设

    .csproj

    文件设置

    True/False/未设

    True/False/未设

    True

    False

    未设

    启动

    客户端类型

    WCF测试客户端

    IE

    WCF测试客户端

    IE

    IE

    表2

        例如,在一个利用源代码控制的项目组中,.csproj.user文件不会被共享,而.csproj文件会被共享。如果只希望改变个人的WCF测试客户端的启动行为,则应该修改.csproj.user文件;如果希望改变开发这个项目的所有人的启动行为,则应修改.csproj文件。

    联合服务库

        WCF测试客户端并不能对这种服务项目进行测试,所以F5时并不会自动启动WCF测试客户端。

    WCF服务(网站)

        F5时不会自动启动WCF测试客户端。如果希望获得和WCF服务应用程序相同的启动行为,可以修改C:\Users\<username>\AppData\Local\Microsoft\WebsiteCache\websites.xml文件(XP/2003系统中文件在相似位置):

    <DesignTimeData>

      <Website RootUrl="C:\" CacheFolder="WCFService1" EnableWcfTestClientForSVC="true"/>

    </DesignTimeData>

        注意在修改websites.xml文件之前请先关闭Visual Studio,否则Visual Studio关闭时会重写覆盖websites.xml文件。



    WCF服务模板

    这些模板可以帮助用户对WCF和.Net3.5的相关技术快速入门。所有这些模板都可以支持两种语言:VB和C#。

    技术领域

    项目模板

    子项目模板

    一般WCF 技术

    WCF Service Library

    WCF Service

    WCF Service Application (Web Application)

    WCF Service  (Web Application)

    WCF Service (Website)

    WCF Service (Website)

    .Net framework 3.5 Workflow 服务技术

    Sequential Workflow Service Library

    WF Sequential Service /

    XAML WF Sequential Service

    State Machine Workflow Service Library

    WF State Machine Service / XAML WF State Machine Service

    .Net framework 3.5 Syndication 服务技术

    Syndication Service Library

    --

    .Net framework 3.5 Ajax 技术

    --

    Ajax-enabled WCF Service (Both Web Application and Website)

    添加服务引用和Auto-attaching

    当用户需要创建自己的服务端程序时,使用添加服务引用技术可以自动生成这些服务对应的基本的客户端代码。

    而使用Auto-attaching技术,可以使得用户从客户端程序到服务端程序的F5调试变得和在同一进程中调试一样简单。

    WCF IT Pro 工具:

    很多人应该多听说过或者使用过WCF IT Pro工具,因为这些工具的第一版是和Windows Vista一起发布的。现在它们也会作为Visual Studio 2008的一部分被安装。当Visual Studio 2008安装完毕后,你可以在Start Menu/All Programs/Microsoft Windows SDK v 6.0A/Tools目录下��到它们。

    服务配置编辑器

    这个工具提供了用户图形界面(GUI)帮助IT管理员和开发人员创建或更改WCF服务的配置,从而不必直接编辑XML文件。服务配置编辑器支持对WCF bindings, behaviors, services, 以及diagnostics的配置。

    你可以直接在Visual Studio 2008中的WCF服务项目中,选中需要编辑的配置文件,使用右键菜单打开这个工具。

    4

    服务跟踪查看器

    这个工具提供了图形化的界面,帮助用户查看、合并和过滤trace消息,从而更方便用户诊断、修复和验证WCF服务中的故障。

    5

    有用的链接:

    关于WCF 工具:

    http://msdn2.microsoft.com/en-us/library/bb552361.aspx

    http://msdn2.microsoft.com/en-us/library/ms732015.aspx

    关于Visual Studio 2008:

    http://msdn2.microsoft.com/en-us/vstudio/default.aspx




    展开全文
  • 控制 WCF 服务主机的自动启动

    千次阅读 2012-05-30 13:13:47
    调试包含多个项目的同一 Visual Studio 解决方案中的另一个项目时,可以控制 WCF 服务库项目的 Windows Communication Foundation (WCF) 服务主机 (WcfSvcHost.exe) 的自动启动功能。 为此,请在“解决方案资源...
  • 一个傻瓜式的Windows服务宿主模式下的WCF的完整示例 只注重于实现,不讲理论
  • Visual Studio 2019编辑WCF配置

    千次阅读 2019-06-10 14:46:37
    Visual Studio 2019 创建 WCF服务 找不到,则需要安装Visual Studio的Windows Communication Foundation组件
  • WCF,在学习的过程中,新建一个WCF服务应用程序,按F5启动客户端调试,弹出一个错误,如下图所示: 折腾了半天,再对比自动生成的配置文件,发现web.config配置文件多了下图红色的一句,删除即可正常运行:...
  • 前断时间的一个项目中需要实时提醒待办事项,而客户又不想花钱买MAS 机(电信服务商提供的企业短信接口)。所以我们打算将OA中的待办事项通过桌面客户端来进行提醒,但是客户端如果采用定时刷新的方式直接在OA系统中...
  • 一、先期准备 下载并安装VS2019,然后安装好各个组件 这是我启动的windows功能 ...没有的话以管理员权限运行cmd 然后运行下面的命令 C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communicati...
  • WCF 部署在IIS上

    万次阅读 2016-06-20 17:38:33
    第二步:WCF项目上右键,选择:在windows资源管理器中打开文件夹,如下图: 第三步:第二步:在你项目所在的文件目录下找到Package文件夹,这就是我们的部署包所在的地方。在这个package文件夹下面有一个...
  • Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。 WCF的最终目标是通过进程或不同的系统...
  • WCF 发布与部署IIS所遇到的问题 (解决404.17、.svc无法读取问题) 那如果是产品上线 要部署 服务器上 那情况就会复杂的多了。 1.首先要要讲wcf类库发布。 2.要部署的服务器 确保已经有.NetFrameWork 3.0+  3.安装...
  • visual2012 与WCF+HTML5

    千次阅读 2012-12-20 10:33:05
    以CRM2011的WCF oragnization.svc的调用使用为例: 1.在visual2012中新建windows应用商店(javascript) 2.添加项目wcf项目 形成的结构如下: 3.IStudent.cs文件如下 3.对student.svc.cs进行修改 4.通过wcf...
  • 关于部署WCF时出现超时问题的解决

    千次阅读 2008-03-08 09:27:00
    而且我们的WCF服务是部署在Windows Service上的,在实际的环境中,我们共部署了2个Windows Service,一个Service上Host了大部分WCF Service,另一个Service上Host了一个有关搜索的WCF Service,但是发布上去后,发现...
  • 所有如果不在同一个域中.net3.5下的WCF访问会失败,报"调用方未由服务进行身份验证",因为不在同一个域中验证会失败。 现在修改配置文件然.net4.0下的WCF也进行windows身份验证,因为进行身份验证就可以获取客户端...
  • WCF和webservice的区别

    万次阅读 热门讨论 2014-06-03 16:38:25
    微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。WSDL来实现服务接口相关的描述。此外Web services 可以注册到UDDI中心.供其客户查找使用。 后来...
  • WCF_Windows宿主服务

    千次阅读 2017-07-21 17:02:42
    Windows宿主wcf服务 系统启动,服务即启动。调用很方便 windows宿主步骤: 编写WCF服务添加windows安装项目服务端配置使用工具安装服务服务调用 添加类库项目 项目中添加必要的引用 (参考:自宿主...
  • 这些由我们团队开发的工具包括:- WCF开发者工具:WCF服务模板,WCF服务主机和WCF测试客户端- 对基于WCF服务模板开发的项目,支持添加服务引用(Add Service Reference)和Auto Attach- WCF IT管理员工具:服务配置...
1 2 3 4 5 ... 20
收藏数 4,669
精华内容 1,867
关键字:

wcf windows服务 调试