【问题标题】:Execute application on shared folder using resource of shared machine使用共享机器的资源在共享文件夹上执行应用程序
【发布时间】:2017-05-02 11:46:35
【问题描述】:

我编写了一些小应用程序来帮助一些同事的日常工作自动化,并希望在我的计算机上放置一个共享文件夹,以便本地网络中的其他人可以在我的计算机开启时执行。我没有自己的服务器,所以这是我能做的最好的。

其中一个是 Winform 应用程序,它通过我的机器上安装的 Oracle 客户端和 Oracle Data Access 连接到 Oracle 数据库以检索信息。我希望人们可以在我的机器开启时执行该应用程序(.exe 文件),而无需在他们的机器上安装任何东西。该应用程序将写入同一文件夹中的输出文件 (.html) 并在其浏览器上打开它。

我的问题是:我应该怎么做才能使它成为可能?人们如何使用已经安装在我的机器上的 Oracle 客户端、Oracle DataAccess 和 .Net 框架来运行这个 .exe 文件,就好像我在本地运行它一样。

我将所有 C# 程序集(由 Visual Studio 自动添加)标记为 Copy Local to True(Microsoft.CSharp.dll、System.Data.dll、System.dll、System.Data.DataSetExtensions.dll、System.Deployment.dll , System.Drawing.dll, System.Net.Http.dll, System.Windows.Forms.dll, System.Xml.dll, System.Xml.Linq.dll)。人们还需要安装 .Net 框架吗?我的应用程序非常简单,只有一个外部 dll Oracle.DataAccess.dll。 Oracle 客户端和 Oracle 数据访问怎么样。

非常感谢。

【问题讨论】:

    标签: c# oracle winforms server shared-hosting


    【解决方案1】:

    针对您的情况的最佳解决方案是创建一个webservice 并让使用您的webservice 的客户端而不是直接调用您的数据库。它消除了系统依赖性并更易于维护。

    【讨论】:

    • 难道 ASP Web 表单应用程序也不能正常工作吗?假设您可以编写一个网页来满足客户的需求。
    • 谢谢辛格。我的应用程序往往是 Windows 应用程序,具有简单的文件输出,而不是网站。我不想构建复杂的企业应用程序,只是少数人使用的简约应用程序来自动化他们的日常任务。想想 VBA 表单或应用程序。在这种情况下,我碰巧以 .html 形式输出到某些东西
    【解决方案2】:

    如果可行,您的同事可以通过远程桌面访问您的计算机。在这不可行的可能情况下,您需要决定同事会看到什么。如果他们只需要查看生成的 html 并且他们只需要触发您的 exe 的执行,那么您将需要有一个程序来监听端口并确保您的同事通过一个小程序正确请求给定的端口客户端应用程序。

    但老实说,您描述的用例听起来像是您同事使用的网站。您可以在 .NET 中创建网站,您拥有的 exe 将是控制器或代码隐藏,具体取决于您使用的方法,而 HTML 将是响应。然后,同事只会使用您正在侦听的端口请求您的页面。

    【讨论】:

    • 一些精度:这是一个单一的文件/单一的形式不是那么复杂的项目,只是我使用到 Oracle 源的连接。我的目的不是编写华而不实的,而只是编写自动化东西的简约程序。我有点习惯 Winform,所以我用 C# 创建了这个应用程序,以 HTML 的形式写入一个文本文件(也没有那么复杂,只是在谷歌地图上显示一些 javascript)。如果我可以继续使用 Winform,那就太好了,因为我还打算用 C#/Winform 编写更多应用程序。
    • @Kenny,在这种情况下,一个小型命令行应用程序可以帮助您侦听请求。但老实说,我认为您会得出这样的结论:需要一个简约的网站,用户可以在其中选择应该执行的内容。这将比您将应用程序用作网站时遇到的所有技术困难更容易,实现很多您可以免费获得的东西。
    • 我的应用程序不应该是一个网站。我未来的应用程序也大多不是网站。它们将是具有简单 UI 的桌面应用程序。您可以考虑 VBA 形式,像这样极简主义的东西。让我们忘记“网站”部分;我的应用程序将输出到与 .exe 位于同一文件夹中的文本文件。在这种情况下,输出文件恰好是 .html 格式。在大多数其他情况下,它只是文本文件。我想强调的是,每个应用程序只为少数人提供服务,用于重复性任务,否则需要 2-3 小时。不打算成为企业应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多