FastReport创建托管在windows服务中的WCF服务

报表开发工具FastReport .NET最新的WCF服务库FastReport.Service.dll非常的强大而且易用,本文将介绍基于其创建托管在windows服务中的WCF服务的方法。

操作方法

  • 01

    打开Visual Studio并创建一个项目WindowsService(在在线模板中)。

  • 02

    用设计器打开Service1.cs

  • 03

    修改服务名称,例子中用的是“ReportService”。

  • 04

    右键单击窗口,选择“添加安装程序”。

  • 05

    修改serviceInstaller1控件的属性,设置DisplayName。

  • 06

    在serviceProcessInstaller1属性中选择账户类型为LocalSystem

  • 07

    在项目中添加引用System.ServiceModel和FastReport.Service.dll。

  • 08

    创建应用程序配置文件

  • 09

    在配置文件中添加以下文本: <?xml version="1.0"?> <configuration> <appSettings> <!-- path to folder with reports --> <add key="FastReport.ReportsPath" value="C:\Program files\FastReports\FastReport.Net\Demos\WCF" /> <!-- name of connection string for reports --> <add key="FastReport.ConnectionStringName" value="FastReportDemo" /> <!-- Comma-separated list of available formats PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX. You can delete any or change order in this list. --> <add key="FastReport.Gear" value="PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX" /> </appSettings> <connectionStrings> <add name="FastReportDemo" connectionString="XsdFile=;XmlFile=C:\Program Files\FastReports\FastReport.Net\Demos\Reports\nwind.xml"/> </connectionStrings> <system.web> <compilation debug="true" /> <membership defaultProvider="ClientAuthenticationMembershipProvider"> <providers> <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" /> </providers> </membership> <roleManager defaultProvider="ClientRoleProvider" enabled="true"> <providers> <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" /> </providers> </roleManager> </system.web> <!-- When deploying the service library project, the content of the config file must be added to the host's app.config file. System.Configuration does not support config files for libraries. --> <system.serviceModel> <services> <service behaviorConfiguration="FastReportServiceBehavior" name="FastReport.Service.ReportService"> <endpoint address="" binding="wsHttpBinding" contract="FastReport.Service.IFastReportService"> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:8732/FastReportService/" /> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name="FastReportServiceBehavior"> <serviceMetadata httpGetEnabled="True" /> <serviceDebug includeExceptionDetailInFaults="True" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding messageEncoding="Mtom" closeTimeout="00:02:00" openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00" maxReceivedMessageSize="67108864" maxBufferSize="65536" transferMode="Streamed"> <security mode="None"> <transport clientCredentialType="None" /> </security> </binding> </basicHttpBinding> </bindings> </system.serviceModel> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /> </startup> </configuration>

  • 10

    编辑Service1.cs,添加以下行: using System.ServiceModel;

  • 11

    修改服务类: public partial class ReportService : ServiceBase { ServiceHost reportHost; public ReportService() { InitializeComponent(); } protected override void OnStart(string[] args) { if (reportHost != null) reportHost.Close(); reportHost = new ServiceHost(typeof(FastReport.Service.ReportService)); reportHost.Open(); } protected override void OnStop() { reportHost.Close(); reportHost = null; } }

  • 12

    接下来就可以进行开发编码了。

(0)

相关推荐

  • 如何打开或关闭Windows系统中的adb服务

    在使用Windows系统的时候,如何设置系统中adb服务的打开或关闭情况呢?接下来就由小编来告诉大家.具体如下:1. 我们需要打开cmd,才能设置adb服务.第一步,打开电脑后,点击左下角的开始图标. ...

  • 在Windows XP系统中安装远程启动服务

    所需软件:DLC协议程序,将下载后的文件解压到一个目录中(如 D:XPRPL),注意如果您使用的是10/100自适应的网卡,一定要将网线的另一端联好开机,即保证“本地连接”是启用的,在“本地连接”中选 ...

  • 在WinXP系统中安装远程启动服务的方法

    所需软件:DLC协议程序,将下载后的文件解压到一个目录中(如 D:XPRPL),注意如果您使用的是10/100自适应的网卡,一定要将网线的另一端联好开机,即保证“本地连接”是启用的,在“本地连接”中选 ...

  • windows中的哪些服务是不可以禁止的

    windows中的哪些服务是不可以禁止的

  • 在Windows XP中创建PPPoE连接

    Windows XP 中包括了一个内置 Ethernet 上的 PPP (PPPoE) 客户程序。这通常是一个高速连接,需要使用电缆调制解调器或ADSL等硬件。 创建 PPPoE 客户机连接可以像安装 ...

  • win10环境变量怎么设置?在Windows 10中创建环境变量的3种方法(详细)

    设置环境变量是编程过程中经常需要做的事情,这里我们来讨论如何在Windows 10中创建环境变量.Windows中的环境变量是包含有关系统环境和当前登录用户信息的值.除了Windows之外,环境变量也 ...

  • Windows 8中如何创建虚拟网卡 创建虚拟网卡的详细图文教程

    在一些特殊情况下,我们需要Windows 系统中多出一块“虚拟网卡”来达到某些特定的工作环境,Windows 8的创建方式跟其他系统有些不同,本文则使用图片的方式来演示“虚拟网卡”的创建方式。 首先, ...

  • Windows 8中创建虚拟磁盘

    众所周知,Windows 8增加了对虚拟介质的支持,可以直接打开vhd、iso等文件,更加方便用户们使用。尤其VHD可以在Windows 8中方便的挂载和修改,无疑为存放文件提供了一种便利。若是文件夹 ...

  • Windows 8中如何创建虚拟网卡

    在一些特殊情况下,我们需要Windows 系统中多出一块“虚拟网卡”来达到某些特定的工作环境,Windows 8的创建方式跟其他系统有些不同,本文则使用图片的方式来演示“虚拟网卡”的创建方式。 首先, ...