WCF'de .net 4'te bir REST hizmetini test ediyorum - yani svc dosyası yok. VS dev sunucusuna karşı çalışırken harika çalışıyor, ancak IIS'ye karşı çalıştırmaya geçtiğimde, yardım sayfasına göz atmaya çalışırken veya hizmet yöntemlerinden herhangi birine basmaya çalışırken 404 aldım.404 çalıştığında .net 4 IIS'de WCF hizmeti (svc dosyası yok)
Sadece IIS üzerinde çalışmasını sağlamak için çıplak kemikleri hizmetine geri döndüm ancak bununla ilgili sorun olduğundan emin değilim.
global.asax basitçe
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(DataPortalService)));
}
vardır ve alır gibi Hizmetin kendisi kadar basittir:/yardım vurmak
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" />
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
</configuration>
ait
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class DataPortalService : IDataPortalService
{
[WebGet(UriTemplate = "Test/TestMethod")]
public string TestMethod()
{
return "Hi!";
}
}
[ServiceContract]
public interface IDataPortalService
{
[OperationContract]
string TestMethod();
}
ve yapılandırma dosyası sayfa veya yöntem bana bir 404.0 verir.
Sadece IIS'de değil, sunucuda gayet iyi çalıştığı halde biraz daft olmasına rağmen, IIS'de hayata başlaması için bazı ayarları kaçırdığımı farz ediyorum.
Hangi IIS sürümü? W7 üzerinde çalışan –
7.5.7600. –
HTTP 404.4 alıyor musunuz? Öyleyse, İşleyici Eşleştirmelerinizin doğru olup olmadığını kontrol edin. – tomasmcguinness