Reputation: 6122
Im trying to create my first WCF restful service. In VS2010 I open weddingservice.svc and then hit F5. A browser opens to http://localhost:50043/weddingservice.svc But there, this is the error I get:
Server Error in '/' Application.
The type 'RestService.weddingservice', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: The type 'RestService.weddingservice', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: The type 'RestService.weddingservice', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.]
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +51530
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1461
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +44
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +651
[ServiceActivationException: The service '/weddingservice.svc' cannot be activated due to an exception during compilation. The exception message is: The type 'RestService.weddingservice', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found..]
System.Runtime.AsyncResult.End(IAsyncResult result) +688590
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +190
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, String routeServiceVirtualPath, Boolean flowContext, Boolean ensureWFService) +234
System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +359
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
Below my code, I hope anyone is able to see what Im doing wrong. Am I not using the correct URI? What did I miss?
weddingservice.svc
<%@ ServiceHost Language="VB" Debug="true" Service="RestService.weddingservice" CodeBehind="weddingservice.svc.vb" %>
Iweddingservice.vb
Imports System.ServiceModel
Imports System.Web
Imports System.IO
Imports System.Runtime.Remoting.Activation
Imports System.Collections.Generic
Namespace RestService
<ServiceContract()>
Public Interface Iweddingservice
<OperationContract()> _
<Web.WebGet(UriTemplate:="job/{name}")> _
Function DoJob(name As String) As String
End Interface
End Namespace
weddingservice.svc.vb
Imports System.ServiceModel
Imports System.ServiceModel.Web
Imports System.IO
Imports System.ServiceModel.Activation
Imports System.Web.Script.Serialization
Imports System.Collections.Generic
Imports System.Xml
Imports System.Net
Namespace RestService
Public Class weddingservice
Implements Iweddingservice
Public Function DoJob(name As String) As String Implements Iweddingservice.DoJob
Return String.Format("Hello, {0}", name)
End Function
End Class
End Namespace
web.config
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="weddingservice">
<endpoint binding="webHttpBinding" contract="RestService.Iweddingservice" behaviorConfiguration="webHttp"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Upvotes: 3
Views: 14244
Reputation: 1146
My project had the dlls being built to a folder under the bin directory to match the configuration name, so if the project name was DemoWCF and the configuration was Debug the dll would be here:
/bin/Debug/DemoWCF.dll
When I removed the Debug/ from the output path and built the dll to here:
/bin/DemoWCF.dll
everything launched as expected.
This was configured under the Build tab on the project properties in the Output path
Upvotes: 0
Reputation: 2310
I had the same issue. Simply deleting the bin and obj folders and rebuilding fixed the issue.
Upvotes: 0
Reputation: 11
I reconfigured my project recently and ran into this error.
It was a setup error, my service DLLs weren't being placed in the right directory when publishing the website.
Upvotes: 1
Reputation: 1289
My Problem was resolved when i added the Bin folder and obj folder into the folder path manually. I am able to access it perfectly now.
Upvotes: 0
Reputation: 7876
Please change your service element from:
<service name="weddingservice">
to :
<service name="RestService.weddingservice">
That should resolve your problem
Upvotes: 0
Reputation: 762
Set the
<serviceDebug includeExceptionDetailInFaults="false" />
to
<serviceDebug includeExceptionDetailInFaults="true" />
in order to get more details
and try to run the process again
Upvotes: 6