我是C#noob,我想问一下这种情况是否可能:
我在C#中有一个Windows窗体应用程序,我是否可以将它安装在一台计算机(作为服务器)中,并且可以从网络中的所有计算机访问它?如果可以的话,请你帮我解决一下我需要做什么,参考/书籍/教程?
我已经用谷歌搜索了这个,但我认为我找不到正确的'搜索词',这就是为什么我没有得到想要的搜索结果。
答案 0 :(得分:0)
是的,这是可能的。将C#可执行文件放在网络UNC路径中,如果在目标桌面上创建链接,则可以访问它。默认情况下,XP SP 2及更高版本可以运行它。如果它有.NET 3.0或3.5或4.0框架,您可能需要为这些框架安装Runtimes,但.NET 2.0应该适用于XPsp2。所有框架都可以从微软的网站上下载。
这是一个数据库驱动的应用程序还是仅仅是一个单独的立场?
你不需要任何书籍,它应该工作得很好。但是尽可能多地提供细节,以便我们引导您朝着正确的方向前进。
答案 1 :(得分:0)
您可能需要进行大量代码检修才能执行此操作。您可以简单地将其安装在一台计算机上并远程登录该计算机并访问它吗?
您看到有关网络访问程序的事情是它们有两个部分 - 客户端和服务器。听起来你只有一件。您需要编写一个Windows窗体程序并将其安装在所有计算机上。然后,您需要编写通过网络从客户端接收数据的服务器代码。
您需要了解套接字编程。这是C#和套接字的书籍入门教程。 http://www.codeproject.com/KB/IP/socketsincsharp.aspx
答案 2 :(得分:0)
我不是100%肯定你在问什么,但希望这能涵盖它。如果没有,请将您的问题编辑为更具体。
您通常可以通过将可执行文件复制到该驱动器(并确保所有用户都具有对该网络位置的适当访问权限)从共享网络驱动器/文件夹运行WinForms应用程序。
如果您使用自动安装程序,则应该可以选择网络共享作为安装软件的位置。自动安装程序也倾向于将东西放在本地注册表中(例如,为程序创建菜单项,这些项目总是在本地计算机上运行)。在这种情况下,您可能希望创建一个安装程序,在本地计算机上创建指向网络共享上预安装的可执行文件的相应快捷方式/菜单项。
您需要注意Windows窗体应用程序不会将数据写入网络共享,或者如果确实如此,它会以与访问该数据的多个用户一致的方式执行此操作(换句话说,请记住所有用户都将共享该位置。)
答案 3 :(得分:0)
将其放入共享文件夹并通过UNC路径访问或将驱动器映射到该位置。您还可以使用组策略为所有用户映射驱动器。
或者,您可以将应用程序包装到MSI中并通过组策略进行安装吗?
希望这会有所帮助:)
答案 4 :(得分:0)
您应该对软件设计使用分层方法。创建一个网站,以便用户可以从多个位置访问该应用程序。然后创建一个服务层,使网站可以访问您需要的桌面功能。 WCF是一个很好的服务层,因为它允许通过HTTP进行消费。