繁体   English   中英

从类库中使用asp.net应用程序中的Web服务

[英]Consume web service in asp.net app from a class library

我的团队和我有一个asp.net Web表单应用程序,并且正在使用几个类库。 在其中一个库中,我们正在尝试使用Web服务。 Web参考已添加到Web应用程序项目中,并且已添加了适当的参考。 该应用会编译。 当尝试在类库中使用所述Web服务时,凭据似乎不起作用,并且调用失败。 但是,如果我们将Web服务调用从类库中移出,并在Web应用程序中使用它,则它将起作用。

任何想法为什么在类库中不起作用。

仔细检查您的配置文件是否包含Web服务的正确信息。

尝试将URL行为也更改为动态。

另外,正如约翰所说,我假设您要将服务添加到类库中,因为您打算从库中使用它,而不是Web应用程序的其他区域。

“凭据似乎不起作用,并且调用失败” ...您能给出一小堆错误的堆栈信息吗?

为了澄清,在我当前的项目中,我们在具有绑定和凭据的类库中使用WCF端点。 尝试对SOAP ASMX Web参考执行相同的操作。

您可以通过执行以下步骤来添加Web服务引用:

右键单击解决方案资源管理器上的项目,单击“添加服务参考”,单击“高级”,您将在表单末尾找到“添加Web参考”

通过@AMgdy的解决方案,它将自动生成Reference.cs类。它定义了Web服务的所有方法。

您可以通过执行以下步骤来添加Web服务引用:

  1. 右键单击解决方案资源管理器上的项目
  2. 单击添加服务参考
  3. 单击高级
  4. 您会在表单末尾找到“添加Web参考”

如果要在应用程序中添加引用,然后从类库中使用它,则如何调用类库....通过添加引用并调用类库的方法,然后如何从类库访问代理,您需要引用它...在我看来,这是一个循环引用。 哪些不应该首先编译...您是否正确描述了结构???

最好只添加一个带有Web参考的简单项目,然后在需要它的所有项目上添加该项目的参考。

您是否在Web应用程序的配置文件中定义了任何凭据信息? 如果是这样,则类库可能无法正确获取它们。 只是一个猜测而已。 约翰·桑德斯(John Saunders)是对的。 阅读您对应用程序结构的描述似乎有些倒退。

可能是你说错了! 这是一个例子:

var serviceName = new ServiceName
    {
        Credentials = new NetworkCredential("Username", "Password", "Domain"),
        Url = "Here you put the correct url of the web service if you published somewhere else"
    };
serviceName.CallWebMethod();

确保您输入了正确的凭据用户名和密码,并确保将Web服务发布到您访问它的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM