使用FastReport.Service.dll創(chuàng)建Web服務(wù)
有一種簡(jiǎn)單的方法可以使用 FastReport.Service.dll(WCF 服務(wù)庫)庫來實(shí)現(xiàn) Web 服務(wù),該庫隨 FastReport .Net 一起提供。
我們的示例基于創(chuàng)建一個(gè)具有 Web 服務(wù)功能的簡(jiǎn)單 Web 應(yīng)用程序,但您可以基于 .NET Framework 4.0 或更高版本修改現(xiàn)有項(xiàng)目。
運(yùn)行 Visual Studio 并在 .NET Framework 4.0 下創(chuàng)建一個(gè)新的 ASP.NET Web 應(yīng)用程序項(xiàng)目。
添加對(duì)庫 FastReport.dll、FastReport.Bars.dll、FastReport.Service.dll 的引用。
在站點(diǎn)根目錄中創(chuàng)建一個(gè)名為 ReportService.svc 的新文本文件。
將這些行添加到文件中:
<%@ ServiceHost Service="FastReport.Service.ReportService" %> <%@ Assembly Name="FastReport.Service" %>
點(diǎn)擊復(fù)制
<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.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" /> </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>
點(diǎn)擊復(fù)制
鍵“FastReport.ReportsPath”應(yīng)包含包含報(bào)告的文件夾的路徑。例如,您可以將其設(shè)置為演示文件夾“\FastReport.Net\Demos\WCF”。
鍵“FastReport.ConnectionStringName”應(yīng)包含連接字符串名稱。該行應(yīng)在部分中注冊(cè)。
讓我們運(yùn)行我們的站點(diǎn)并通過訪問文件 ReportService.svc 來檢查 Web 服務(wù)的可用性。
在服務(wù)器上部署項(xiàng)目時(shí),請(qǐng)務(wù)必檢查文件 FastReport.dll、FastReport.Bars.dll、FastReport.Service.dll 是否位于文件夾 \bin 中。
客戶端程序的示例可以在文件夾 \FastReport.Net\Demos\C#\WCFClient 和 \FastReport.Net\Demos\C#\WCFWebClient 中找到。在 Visual Studio 中打開每個(gè)項(xiàng)目,右鍵單擊 ReportService 并在彈出窗口中選擇“配置服務(wù)引用”。
在配置窗口中指定現(xiàn)有 Web 服務(wù)的地址。