我完全不了解WCF
和服务部署。我在设置我的服务在IIS 6.0上时遇到了麻烦。
我需要准确的步骤来将我的WCF
服务部署在IIS 6.0上。
注意:我创建了一个WCF
服务应用程序...
那么,我需要遵循哪些精确的步骤才能在IIS 6.0上部署我的WCF服务呢?
我完全不了解WCF
和服务部署。我在设置我的服务在IIS 6.0上时遇到了麻烦。
我需要准确的步骤来将我的WCF
服务部署在IIS 6.0上。
注意:我创建了一个WCF
服务应用程序...
那么,我需要遵循哪些精确的步骤才能在IIS 6.0上部署我的WCF服务呢?
http://myserver/someweb/Myservice.svc
你的*.svc
看起来应该像这样:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
Service=
属性表示实现服务的类,需要使用其完整的命名空间。
选项2 - 将内容放入App_Code
中
*.cs
文件直接放入.\App_Code
文件夹中*.svc
文件web.config
文件来定义您的终结点和服务配置等现在,您的WCF服务将可以通过网站的基本地址加上*.svc
文件的名称来访问,例如:
http://myserver/someweb/Myservice.svc
*.svc
文件应该长成这个样子:<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
web.config
文件可能如下所示:<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="WithDebug">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="SimpleWCF.HelloIndigoService" behaviorConfiguration="true">
<endpoint
address=""
binding="basicHttpBinding"
contract="SimpleWCF.IHelloIndigoService" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
<service>
标签,再次强调:name=
指定实现服务的类,需使用其完全限定名称。它必须至少包含一个终结点 - 由于IIS6仅支持HTTP,因此您可以使用basicHttpBinding
或wsHttpBinding
,就是这么简单。 "mex"终结点是可选的,但非常有用,特别是用于开发和测试。它允许客户端“发现”服务并获取其服务描述,以便与之交互。
一旦您的服务在IIS中部署,您可以使用像WCF Test Client这样的工具来查看其运行情况,该工具随WCF免费提供,或者使用SoapUI,这是一个通用的SOAP测试工具(有免费版供您使用)。
MyService
的内容 - 一个“相对”地址 - 然后您的服务将位于http://MyServer/VirtualDir/MyService.svc/MyService
- 但由于那个*.svc
文件已经在那里了,这些地址会变得有点笨重... - marc_s