请原谅标题,但最好我只是解释一下问题。
我的解决方案中有 2 个项目
- 类库
- 一个网络应用程序,由网络服务 (asmx) 组成。
Web 服务的代码位于 app_code 文件夹中,文件为 [webservicename].cs
在类后面的 web 服务代码中,我有一个 web 方法,这里是一个示例(已简化):
[WebMethod]
public EnumTaskExportState ProcessTask()
{
var tm = new UploadTaskManager();
return tm.ProcessTask();
}
现在在设计时,在 visual studio(2010 或 2008)中,当我右键单击 UploadTaskMananger,然后选择“转到定义”时。我被带到 AppData\Temp[某些文件夹结构]...等...,它显示了公共(public)类定义。
相反,我希望有完整的集成,这样我就可以直接进入类库项目中的实际类。
我的猜测是,这是因为我使用的是 app_code 路由,而不是 Web 服务类的编译文件。但我不知道还有什么其他方法可以做到这一点。
我该如何解决这个问题?可能不需要 app_code 目录?
最佳答案
您必须使用"file"->“新建网站”创建 Web 服务。我强烈建议您永远不要在网站中构建 Web 服务。
相反,通过使用"file"->“新建项目”并选择“WCF 服务应用程序”来创建您的 Web 服务。如果您坚持使用 ASMX Web 服务(Microsoft 现在将其视为“遗留技术”),请选择“ASP.NET Web 服务应用程序”。
这些都是 Web 应用程序项目,并且在 Visual Studio 中的行为与所有其他项目类型一样。
除其他事项外,将没有 App_Code 文件夹。
关于.net - 如何在不使用 app_code 目录的情况下编写 asmx web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949142/