使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务

Posted

技术标签:

【中文标题】使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务【英文标题】:Create a asmx web service in C# using visual studio 2013 【发布时间】:2013-12-15 09:04:02 【问题描述】:

喂,

如何在 Visual Studio 2013 中创建 asmx Web 服务?

我找到了 this 的简短教程,但是当我在 Visual Studio 2013 中按照此操作时,我收到一条错误消息,提示“无法创建类型 'Service1'”。

感谢您的帮助:)

【问题讨论】:

【参考方案1】:
    创建空的 ASP.NET 项目 将 Web 服务 (asmx) 添加到您的项目

【讨论】:

看起来很简单^^但是我没有这个模板(?)我用的是VS2013 Professional 来自 VS2013 的有趣错误 - 当您选择 .net framework 4.5.1 作为平台时,因此您没有“Web Service (ASMX)”模板 -> 您必须选择 .net framework 4.5(详情here) 想知道这是一个错误,还是真的是一个“功能”,根据我的回答 ;)【参考方案2】:

简短回答:不要这样做。

更长的答案:使用 WCF。它是用来替换 Asmx 的。

例如查看answer,或this one 上的第一条评论。

John Saunders:ASMX 是一项遗留技术,不应用于新开发。 WCF 或 ASP.NET Web API 应用于 Web 服务客户端和服务器的所有新开发。一个提示:微软已经退出了 MSDN 上的 ASMX 论坛。


至于评论......好吧,如果你必须,你必须。那我会把你留在其他答案的主管手中。 (尽管它很有趣,但它有问题,如果有,你为什么要在 VS2013 开始呢?)

【讨论】:

是的,我知道 .. 但我需要它,因为我必须在 android 智能手机上导入该服务 .. 并且 Android 在使用 WCF Web 服务时遇到问题 :( 我从 VS2013 开始,因为我编写了一个新的 MVC5 应用程序,它需要对 android 的 web 服务支持,另一方面:它是我拥有的唯一工具 :D WCF 是一项 Microsoft 技术 - 它不会在 Android 手机上运行(作为服务)。你的意思是客户端是安卓手机吗?你有什么问题? 您使用的是什么绑定? ksoap2-android 调用 WCF 服务应该没问题,但在 Google 上的快速搜索显示 SOAP 1.2 存在一些困难(至少在过去)。如果您还没有,请尝试为您的服务使用 basicHttpBinding(即 SOAP 1.1)。 @Noctis 这不是关于他是否询问什么是更好的技术 - 而是提供的答案是这样的,而且它是不正确的。 ASMX 不是“遗留”功能,或者它不会在 VS 2013 中提供。旧的,是的 - “遗留”,因为它已完全被升级和替换,不。并且提供像 WCF 这样复杂且仅在某些场景中有用的东西,并敲击简单、简单、无处不在和跨平台的东西,我们不应该在 SO 上推广,恕我直言。【参考方案3】:

在网站框上,您选择了 .NETFramework 4.5 但它没有显示,因此请单击此处并选择 3.5...希望对您有所帮助。

【讨论】:

【参考方案4】:

检查您的命名空间。我有这个问题。我通过向项目添加另一个 Web 服务来复制它,就像你做你的一样,并注意到命名空间不同,我发现了这一点。我在项目开始时重命名了它,它看起来像它的持久化。

【讨论】:

以上是关于使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

在Visual Studio 2013中用什么键盘快捷键来组织C#使用?

Visual Studio 2013 中可能存在的 C/C++ 编译器错误

Visual Studio中的环境变量(以Visual Studio 2013为例)

Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

在 Visual Studio 2013 中使用 Roslyn 编译器

Visual Studio中的环境变量(以Visual Studio 2013为例)