12
votes

I will go through what i've done so far step by step as below:

  1. created empty solution
  2. added a website WCFService
  3. deleted the Service and IService from the website
  4. added a WCF service library project to the solution
  5. added end points to the web.config
  6. did the same in app.config
  7. added a reference to the service library in the web application
  8. ctrl + F5 9

I get the following error:

Server Error in '/WFLedger' Application. The type 'Services.WFLedger.WF_Ledger', 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 'Services.WFLedger.WF_API_Ledger', 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 'Services.WFLedger.WF_Ledger', 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) +654
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1439
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +45
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +647

[ServiceActivationException: The service '/WFLedger/WF_Ledger.svc' cannot be activated due to an exception during compilation. The exception message is: The type 'Services.WFAPILedger.WF_API_Ledger', 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) +437
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +188
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, String routeServiceVirtualPath, Boolean flowContext, Boolean ensureWFService) +230 System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +360
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +213 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +76

this is really driving me crazy!!! why am i getting this error? if you need more information please let me know so that i provide them to you thanks a million in advance

8

8 Answers

37
votes

Look at the WF_Ledger.svc file in your web site project. It should only consist of one line. There'll be Service attribute containing "Services.WFAPILedger.WF_API_Ledger". WCF is looking for the "Services.WFAPILedger.WF_API_Ledger" class but not finding it. The namespace and class name need to either exist in the web site project or be a reference as you're trying to set up. You'll need to edit that Service attribute to match the service implementation class in the WCF service library project.

5
votes

Please check if the .svc file is provided and is of the following form.

 <% @ServiceHost Language=C# Debug="true" Service="MyService" CodeBehind="~/App_Code/Service.cs" %>

Its all one line and the file should contain nothing else.

3
votes

Try to add new default service then check newly added works fine. If yes, check web.config endpoint contract name provided, and in .svc file check code behind mentioned correctly.

1
votes

In .svc file Service parameter should include namespace followed by class name i.e. it should be in the format mynamespace.myservice

1
votes

Build the WCF project and try again. This error may occur because of the absence of a DLL in bin folder.

For me building and trying again resolved it.

0
votes

Even make sure that, In your .svc file directive, The "service" attribute's value is fully qualified class name, i.e example: if your namespace is like "ns1.ns2.ns3.ClassName" (where ns1, ns2,ns3 are namespaces).

0
votes

This error can be generated by renaming a class name in the *.svc.cs file without renaming it in the *.svc markup.

Two ways to resolve this problem:

  • Rename the class name to the original name.
  • Rename the service reference in the markup (right click in *.svc file, then click "View Markup"*).

Your markup code looks like this:

<%@ ServiceHost Language="C#" Debug="true" Service="WCFSample.MyClass"CodeBehind="MyClass.svc.cs" %>

*Note: I had this problem in VS2017, don't know if that option is in VS2010.

0
votes

check the function name and parameter in Iservice class where you calling the function and checkout your Service class also where function is define..