彩票走势图

logo FastReport中文文档
文档彩票走势图>>FastReport中文文档>>创建托管在Windows服务中的WCF服务

创建托管在Windows服务中的WCF服务


打开 Visual Studio 并创建一个项目 WindowsService。

fastreport

打开Service1.cs的设计器

fastreport

将服务名称更改为您自己选择的:

fastreport

右键单击窗口并在弹出窗口中选择“添加安装程序”:

fastreport

编辑组件 serviceInstaller1 的属性 - 设置 DisplayName。

fastreport

在 serviceProcessInstaller1 的组件属性中,将服务的帐户类型设置为 LocalSystem。

fastreport

在项目中添加对 System.ServiceModel 和 FastReport.Service.dll 的引用:

fastreport

创建应用程序配置文件:

fastreport

将以下文本复制到新的 app.config 文件中:

<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="//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>

点击复制

修改服务类别,使其看起来像:

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;
 }
}

点击复制

您可以使用 .NET Framework 附带的命令行实用程序 InstallUtil.exe 安装该服务,例如:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe“C:\MyProjects\WcfService1\WindowsService1\bin\Debug\WindowsService1.exe”

您可以使用以下命令启动该服务:

网络启动报告服务

打开 Web 浏览器并检查地址,该地址是在 app.config 的 baseAddress 中设置的。您可以将文件夹和端口更改为您自己的选择。

停止和卸载服务的命令:

网站报告服务

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u "C:\MyProjects\WcfService1\WindowsService1\bin\Debug\WindowsService1.exe"

此示例位于文件夹“\Demos\C#\WCFWindowsService”中。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP