没有App_Code的ASP.Net WCF服务

Pet*_*ter 3 asp.net wcf

我想创建一个WCF服务上使用我的ASP.Net网站(不是项目),要么没有代码隐藏文件,这是一个传统风格的ASMX服务的选项,但不会出现成为WCF服务,或将它的代码存储在一个单独的代码项目中,并且只是由svc文件公开.

我尝试将代码文件从app_code移动到我的单独项目中,但无法弄清楚如何链接它们,因为从svc文件中删除codebehind属性会立即引发错误.

Dav*_*ter 6

您可以将Web项目中的SVC文件指向包含在单独DLL中的类.您不必在App_Code目录中拥有SVC"代码隐藏".这很容易做到.您的SVC文件只需要一个属性 - Service.以下是我在工作中使用的示例:

<%@ ServiceHost Service="My.Qualified.Service.Class.Name" %>
Run Code Online (Sandbox Code Playgroud)

我在App_Code文件夹中没有任何代码.此SVC的所有逻辑都包含在一个单独的DLL中(恰好是这样My.Qualified.Service.Class.dll).我的服务名称是实现类的名称; 这是唯一的警告.

我的web.config(内部system.serviceModel)引用了这个服务:

<service name="My.Qualified.Service.Class.Name">
    <endpoint address=""
     binding="webHttpBinding"
     contract="My.Qualified.Service.Class.IName" />
</service>
Run Code Online (Sandbox Code Playgroud)

我的服务逻辑是之后的直接WCF代码.我的IName界面定义了我的操作; Name实现它们.

我希望这有帮助!