WCF REST Webinvoke not found

Ankit picture Ankit · Apr 25, 2011 · Viewed 26.2k times · Source

Following is the code i am using in my test app:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.IO;

namespace MyWCFServices
{
    [ServiceContract]
    interface IHelloWorldService
    {
        [OperationContract]
        String GetMessage(String name);

        //[OperationContract]
        //[WebInvoke(Method = "PUT",UriTemplate = "File/{fileName}")]
        //[WebContentType("application/octet-stream")]
        // bool UploadFile(string fileName, Stream fileContents); 
        [OperationContract]
        [WebInvoke(UriTemplate = "UploadFile/{fileName}")]
        void UploadFile(string fileName, Stream fileContent); 
    }
}

It gives and error on compilation for webinvoke. Any idea about the same ??

Answer

Ladislav Mrnka picture Ladislav Mrnka · Apr 25, 2011

WebInvokeAttribute is in separate assembly System.ServiceModel.Web.dll. Did you reference that assembly? Also you must add using System.ServiceModel.Web;

Edit:

To use System.ServiceModel.Web.dll assembly you must use at least .NET 3.5 and you can't use .NET 4.0 Client Profile.