嗨,我只是在学习WCF,并且正在尝试为现有的ASP.NET MVC 4应用程序创建Web服务.这是我到目前为止所做的:
我已经创建了一个WCF服务应用程序.我定义了数据契约和数据成员:
[DataContract]
public class BookData
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Author { get; set; }
[DataMember]
public string Description { get; set; }
[DataMember]
public DateTime PublicationDate { get; set; }
[DataMember]
public int CategoryId { get; set; }
[DataMember]
public decimal Price { get; set; }
[DataMember]
public string BookUrl { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经定义了服务合同:
[ServiceContract]
public interface IBookService
{
IEnumerable<BookData> GetBooks(int pageNumber, int numberOfBooksOnPage);
IEnumerable<BookData> GetBookByCategory(int categoryId, int pageNumber, int numberOfBooksOnPage);
BookModel GetBookById(int bookId);
int CountBooks();
int CountBooksByCategory(int categoryId);
void AddBook(BookData book);
void UpdateBook(BookData book);
void DeleteBook(int bookId);
}
Run Code Online (Sandbox Code Playgroud)
我将一个现有的Service1.svc文件重命名为BookService.svc.当双击该文件时,它实际上是一个类,我使它继承自IBookService并实现了所有方法.
当我右键单击BookService.svc并单击浏览器中的视图时,我收到此错误:
无法找到"ServiceService.Service1"类型,它作为ServiceHost指令中的Service属性值提供,或者在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供.
我怎么解决这个问题?
Guy*_*hen 11
为了所有谷歌搜索者的利益回答一个老问题:)我只是遇到了同样的问题.
在尝试解决它时,我发现我忘记在"file.svc"的标记部分更改类名.
右键单击"file.svc"并选择"view markup"
在那里你会发现一个非常长的行,其中包含一个部分:Service ="SomeRootNameSpace.class1"你应该将'class1'改为实际的类名.
如果有帮助或者你已经解决了,请告诉我.如果以上不清楚告诉我,我会尝试重新解释.
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |