Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp.net内联代码块中调用web服务_Asp.net_Web Services - Fatal编程技术网

在asp.net内联代码块中调用web服务

在asp.net内联代码块中调用web服务,asp.net,web-services,Asp.net,Web Services,是否可以从ASP.NET中的内联代码块调用web服务而不添加web引用?如果是这样,您能提供说明吗?一般来说,内联代码可以做代码隐藏代码可以做的任何事情,代码隐藏代码只是更干净,可以分离文件 您首先需要包括在创建WebService代理时为您生成的正确名称空间 对于内联代码,名称空间include代码有点不同,下面是一个示例 <%@ Import Namespace="System.IO" %> 如果您希望了解这些差异,请在另一个C#项目(例如控制台应用程序)中添加web参考。

是否可以从ASP.NET中的内联代码块调用web服务而不添加web引用?如果是这样,您能提供说明吗?

一般来说,内联代码可以做代码隐藏代码可以做的任何事情,代码隐藏代码只是更干净,可以分离文件

您首先需要包括在创建WebService代理时为您生成的正确名称空间

对于内联代码,名称空间include代码有点不同,下面是一个示例

<%@ Import Namespace="System.IO" %>


如果您希望了解这些差异,请在另一个C#项目(例如控制台应用程序)中添加web参考。然后切换到“显示所有文件”。您将发现一个隐藏的.cs文件,其中包含为您创建的实际web服务代理。(还有一个命令行工具可以做同样的事情,但我忘了名字)

您可以将生成的类复制到.aspx的
块中

虽然我不知道你到底需要它做什么;)你没有访问web应用程序源代码的权限吗


另一种解决方案是为web代理创建.NET dll,然后使用
assembly.load()
动态加载此程序集。但是,动态调用方法并不漂亮。

如果您的App_代码文件夹中有Web服务的代码文件(*.cs),则不需要任何引用、使用等。但是,如果Web服务在项目中不是本地的,或者如果App_代码文件夹中没有单独的.cs文件中的代码,则需要Web引用

这是我的经验,我刚刚使用了我的Web服务的一种Web方法:

<%= new MyWebService().MyWebMethod(); %>


希望有帮助。

为什么这与从codebehind呼叫服务有什么不同?你试过了吗?有问题吗?如果是这样的话,也许可以编辑你的问题来说明你遇到了什么问题。我不知道如何在不添加web引用的情况下做到这一点。你为什么不添加web引用?问题是什么?因为我试图在没有整个项目的情况下创建一个简单的.aspx文件。-1建议对生成的文件进行任何操作,包括复制。他的方法是运行命令行工具的快捷方式,这是我真正做的。这是一个解决方案,这是满足我的需求的唯一方法。