【发布时间】:2015-02-25 18:55:32
【问题描述】:
我有一个在 IIS 6 中工作但在 IIS 7 中不工作的 Web 服务。为了测试 Web 服务是否工作,我在我的 ASMX 文件中创建了一个简单的 Web 服务,如下所示:
<%@ WebService Language='c#' Class="DEMOAddNumbers" %>
using System;
using System.Web.Services;
public class DEMOAddNumbers : WebService
{
[WebMethod]
public int AddThis(int x, int y)
{
int mySum;
mySum = x + y;
return mySum;
}
}
这个网络服务可以工作,但是当我使用 CodeBehind 并将代码放在 DEMOAddNumbers.CS 文件中时,它说,
无法创建类型“DEMOAddNumbers”
我尝试过多种方式来引用DEMOAddNumbers.cs,比如:
<%@ WebService Language='c#' Class="DEMOAddNumbers" CodeBehind='DEMOAddNumbers.cs' %>
<%@ WebService Language='c#' Class="DEMOAddNumbers" CodeBehind='~/DEMOAddNumbers.cs' %>
把它放在一个 App_Code 目录中,然后:
<%@ WebService Language='c#' Class="DEMOAddNumbers" CodeBehind='~/App_Code/DEMOAddNumbers.cs' %>
还是一样的错误信息。我没有使用 Visual Studio,只是直接的代码。有什么建议吗?
谢谢
吉姆
【问题讨论】:
-
你想要代码文件中的实体,还是什么?
-
代码文件与 CodeBehind 不同吗?我想要 C# 代码在它自己的 CS 文件中。
-
在下面添加了答案。如果你想要一个服务于 ASMX 的文件,你不能使用 CodeBehind="" 指令。如果您想要 Web 服务的纯“纯代码”实现,请考虑 WCF 或 WebAPI。
标签: c# asp.net web-services