Это, вероятно, обсуждалось, однако все темы, которые я видел по этой теме, не помогли мне, поэтому я пишу.
Я пытаюсь разместить службу HTTP WCF в IIS 5.1.Это очень просто.Я создал виртуальный каталог в IE под названием wcftest
, который указывает на фактическую папку, содержащую содержимое службы.Вот структура:
Web.config
ConsoleWCF.svc
[App_Code] \ Program.cs
Вот код для ConsoleWCF.svc
<%@ ServiceHost Debug="true" Service="ConsoleWCF.WCFImplementer" Language="C#" %>
Web.config выглядит следующим образом:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="ConsoleWCF.WCFImplementer"
behaviorConfiguration="ServiceBehavior">
<endpoint
address=""
binding="basicHttpBinding"
contract="ConsoleWCF.WCFInterface" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>
И, наконец,Program.cs
это:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Description;
namespace ConsoleWCF
{
[ServiceContract]
public interface WCFInterface
{
[OperationContract]
[WebGet]
string GetData();
}
public class WCFImplementer : WCFInterface
{
public string GetData()
{
return "Tested Console WCF";
}
}
}
Я могу получить доступ к этому в IE, перейдя к http://localhost/wcftest/ConsoleWCF.svc.
Однако я не понимаю, как получить доступ к методу GetData
, который у меня есть.Когда я делал это с помощью автономного хоста, у меня не было проблем с доступом к нему.Любая помощь с благодарностью.