2010-08-23 53 views
1

我正在尝试获取WCF Rest服务模板40(CS),这是VS 2010中的联机模板,可以部署到Win Server 2008 R2上的IIS 7.5。我们没有带改变了所有的模板,并试图让这个电话的工作:IIS 7.5上的WCF Rest服务模板40

public class Service1 
{ 
    // TODO: Implement the collection resource that will contain the SampleItem instances 

    [WebGet(UriTemplate = "")] 
    public List<SampleItem> GetCollection() 
    { 
     // TODO: Replace the current implementation to return a collection of SampleItem instances 
     return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } }; 
    } .... 

我们试过:

  • 手动创建一个.svc文件,因为这模板没有一。看起来像:<%@ServiceHost language=c# Debug="true" Service="WcfRestService2.Service1"%>
  • 发布为一个网站,并将其添加为IIS中的网站。
  • 我们已经在IIS上安装.net framework 4.0,并且正在运行。
  • 添加一些webconfig的东西,试图从Global.asax获取端点。
  • 一堆其他的东西...

我出去拉我的头发了这一点,对不起,我不能更具体的了解究竟是怎么回事。我们得到的问题是服务调用如http://localhost/Service1不能通过IIS找到,但他们在VS中工作正常。

这里是WebService的文件:

你怎么插入XML? http://www.nitricburnstudios.com/Web.config

回答

0

默认情况下,当您切换到发布到IIS,它这样做的VDIR,而不是网站的根目录,所以我猜你需要检查VDIR它安装到(项目属性,网络)并更改您尝试访问http://localhost/WcfRestService1/Service1(或其他)的网址。

当我从模板创建一个项目,切换到IIS发布,按F5键,然后打的网址,我得到预期的输出就好了:太多的无奈终于想通了如何

<ArrayOfSampleItem xmlns="http://schemas.datacontract.org/2004/07/WcfRestService1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <SampleItem> 
    <Id>1</Id> 
    <StringValue>Hello</StringValue> 
    </SampleItem> 
</ArrayOfSampleItem>