wcf使用Ghostscript进行pdf到tiff转换的服务

时间:2011-09-15 10:28:36

标签: asp.net wcf

我必须为pdf到tif转换创建一个WCF服务。该服务应该 -

1)接受输入两个字符串 - 输入文件路径和输出文件路径 2)它应该转换输入(pdf)文件并将其存储为给定输出路径上的tif文件

请帮助我,因为我是wcf概念的新手。谢谢。

1 个答案:

答案 0 :(得分:0)

让我们讨论可能的解决方案。使用HTTP绑定的简单WCF服务。

您需要一些API才能从PDF执行转换。

首先创建类库并在其中添加如下内容:

// WCF Service interface
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

[ServiceContract]
public interface IPdfConvertor
{
 [OperationContract]
 void PdfToTif(string sourceFilePath, string destinationFilePath);
}

比你必须实现接口

// WCF服务实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, 
        IncludeExceptionDetailInFaults=true)]
public class PdfConvertor:IPdfConvertor
{
  public void PdfToTif(string sourceFilePath, string destinationFilePath)
  {
    // Perform conversion here
  }
}

这是关于服务的。当你做它时,你必须选择如何托管它。 您有几种托管选项: 1)IIS 2)Windows服务 3)Windows .NET应用程序

无论在何处举办。您必须配置端点。将您的配置放在Web.config或App.config中,如下所示:

<system.serviceModel>
    <services>
      <service name="SomeNameSpace.PdfConvertor" behaviorConfiguration="ServiceMetadataBehavior">
        <endpoint contract="SomeNameSpace.IPdfConvertor" name="BasicHttpBinding_IPdfConvertor" binding="basicHttpBinding" address="http://localhost:8000/PdfConvertor"/>
        <endpoint address="http://localhost:8000/mex" binding="mexHttpBinding"contract="IMetadataExchange"/>
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IPdfConvertor"/>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceMetadataBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8000/mex" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

这只是一个骨架。我希望能帮助您了解可能解决问题的方法。

还尝试阅读一些关于wcf的基本教程:http://msdn.microsoft.com/en-us/library/ms734712.aspx