0

当我创建一个 web 服务类时,除了标准之外WebServiceWebServiceBinding还有一个额外的、奇怪的属性:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class TestWS : System.Web.Services.WebService

我想知道是否有一个秘密隐藏的、非常重要的原因将ToolboxItem属性存在那里(并且也有必要为此添加using System.ComponentModel)。我通常会删除那条线,而且很明显,没有什么不好的事情发生。我是否可以安全地假设它只是作为一种万无一失的方式来阻止特别有创意的用户试图以某种方式将其从工具箱拖放到某个地方?

我的意思是这个属性在那儿看起来很不必要,几乎是可疑的。可能还有很多其他的东西可以添加“以防万一人们有奇怪的想法”,那么为什么要ToolboxItem在 Web 服务类中添加所有东西呢?潜在用户是否被认为可能出于自身利益而过于有创意,或者其背后实际上隐藏着什么含义?

4

3 回答 3

0

重复的问题?答案下方

完全不确定这与网络服务有什么关系。

请参阅 MSDN 上的ToolboxItem您提到的构造函数用于指定工具箱项的默认类型,通常用于自定义控件。

与MSDN 上的这个示例一样,您可以使用此属性来自定义 UserControl 在 Visual Studio 工具箱上的显示方式。

于 2013-09-19T13:11:05.773 回答
0

如果添加[ToolboxItem(false)]属性;

在解决方案资源管理器中,当您双击 .asmx 文件时,它将自动打开 .cs 文件而不是 .asmx 文件。

只是一个小技巧:)

于 2018-12-11T06:01:08.343 回答
-1

据说它被使用是因为web-service 不应该出现在 toolbox 中

但我想知道网络服务如何在工具箱中找到位置。如果有人能举例说明就更好了!

于 2015-06-07T16:42:03.650 回答