我编写小应用程序以帮助自动化某些同事的日常工作,并希望在我的计算机上放置共享文件夹,以便当我的计算机打开时,本地网络中的其他人可以执行。我没有自己的服务器的奢侈品,所以这是我能做的最好的。
其中一个是Winform应用程序,它通过安装在我的计算机上的Oracle客户端和Oracle数据访问连接到Oracle数据库以检索信息。我希望人们可以在我的机器打开时执行应用程序(.exe文件),而无需在他们的机器上安装任何东西。该应用程序将写入同一文件夹上的输出文件(.html),并在他们的浏览器上打开它。
我的问题是:我该怎么做才能实现?人们如何使用已安装在我的计算机上的Oracle客户端,Oracle DataAccess和.Net框架来运行此.exe文件,就像我在本地运行它一样。
我将所有C#Assemblies(由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数据访问如何。
非常感谢。
答案 0 :(得分:2)
针对您的具体情况的最佳解决方案是创建一个webservice
,并让那些使用webservice
而非的客户直接调用您的数据库。它消除了系统依赖性并更容易维护。
答案 1 :(得分:1)
如果可行,您的同事可以通过远程桌面访问您的计算机。在可能的情况下,这是不可行的,您需要决定同事会看到什么。如果他们只需要查看生成的html并且他们只需要触发你的exe的执行,那么你需要有一个程序来监听一个端口,并确保你的同事通过一个小的正确请求给定的端口客户端应用。
但老实说,您描述的用例听起来像是您同事使用的网站。您可以在.NET中创建一个网站,您拥有的exe将是控制器或代码隐藏,具体取决于您使用的方法,HTML将是响应。然后,同事们只会向您的页面请求您正在收听的端口。