【问题标题】:Its possible to use a microsoft.web.services3 in visual studio database project?可以在 Visual Studio 数据库项目中使用 microsoft.web.services3 吗?
【发布时间】:2017-04-03 07:50:57
【问题描述】:

我已经完成了一个从 wsdl 类方法获取信息的 Windows 服务。一位同事建议我使用程序集在 sqlserver 数据库中运行作业。我想这是不可能的,但我不知道它是否可以做到。

我使用的 wsdl 是通过 Microsoft.web.services3 完成的。 Windows 服务项目有一个配置文件,其中包含必要的部分:

<configSections>
     <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>

我也有这个参考。

<microsoft.web.services3>
    <tokenIssuer>
       <ttlInSeconds value="900000" />
    </tokenIssuer>
    <security>
       <defaultTtlInSeconds value="9000000" />
      <timeToleranceInSeconds value="9000000" />
    </security>
<web.services3>

我认为它不会起作用,但如果可能的话,我如何在数据库项目中执行此操作以在一个程序集中构建?

【问题讨论】:

    标签: sql-server visual-studio-2015 wsdl windows-services database-project


    【解决方案1】:

    是的,这是可能的,但这并不是真正的“好”。 您需要做的是创建一个 SQL Server CLR 程序集,您可以在其中使用 Web 服务逻辑(调用、处理等)。

    查看 [https://msdn.microsoft.com/en-us/library/w2kae45k(v=vs.100).aspx] 了解如何操作

    不利的是,您在 SQL Server 内存中运行此 CLR。如果您没有以正确的方式处理您的对象,您的 SQL Server 内存可能会被原本不应该存在的对象填满。

    其他解决方案? 如果您需要数据库中的这些数据,您可能需要创建一个进程来调用 Web 服务并将数据存储在数据库中...

    【讨论】:

    • 我会尝试第一个解决方案,如果可行,我会通知您。谢谢
    • 嗨,马克,我昨天做了,但遇到了一个新问题。当我的后端同事添加程序集时,其他 .dll 依赖项导致了很多错误。我可以在同一个 .dll 中获取所有依赖项吗?该项目有一些 .dll 依赖项,例如 epplus、razor、mvc、services3...
    • 我不确定您为什么要在 Web 服务中使用所有这些前端程序集?确保 web 服务只做它应该做的事情。 Web 服务不应该与 razor/mvc 做任何事情。也许你想从前端调用服务,但它不应该被包括在内......回到你的对象/类的设计并确保一切都是非依赖的
    • 我们有一些用于导出 excel 的常用库,还有一些 web utils...每个都有自己的引用。当我添加引用以使用序列化程序类时,它的项目具有这些引用,当我们尝试在后端添加 dll 时,它会崩溃,因为它无法获取这些引用。我不知道是否理解我,对不起我的英语不好。
    猜你喜欢
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2016-09-09
    相关资源
    最近更新 更多