关于winform和SQL数据库的几个疑惑

蜗牛学编程 2020-11-26 09:31:25
各位老师,请教几个疑惑:
1,我用C#写了一个winform系统,放在部门服务器上,然后把链接地址放在公司主页供同事们使用。同事们分别在北京,上海,广州,重庆。但必须用IE浏览器,用谷歌浏览器打不开(公司只允许安装这两个浏览器),而且偶尔会反馈使用IE浏览器打不开的现象,但基本重启浏览器就好了。这是浏览器问题吗?
2,这系统是直接使用C#中debug里的exe程序。当多人通过链接地址打开系统,是不是都在消耗着服务器的资源?人数达到一定数量会造成服务器的龟速,从而导致系统的龟速?(我查资料说如果是打包成安装版,让使用者下载安装,这样就是消耗使用者PC端的资源,从而保证服务器运行速度,是这样吗?)
3,这样多人同时打开同一个系统,这个系统能容纳多少人使用吗?(也就是允许的用户数量是多少?)
4,因为成本还有复杂的流程问题,我们现在的数据库用的是2014 MSSQL express,免费的。除了内存和容量受限制外,是不是并发用户数量也会受限制?查了下资料,有说会限制12个并发用户,也有说实际上并不会限制,12个并发用户只是存在官方说词,但技术上并不会限制。(但在实际运行中,有同事反馈操作系统时,有时系统会跳出一个错误提示,说计算机已达最大用户数量。但点击取消后,也能正常操作,很奇怪。)
5,最头疼的一个问题:什么情况下才叫并发用户?是同一时间,对数据库进行增删查改才能称之为并发用户,还是说只要进了系统,哪怕你呆着不动也算并发用户?如果是前者还好,毕竟操作数据库都是瞬间完成,很小概率会在那一瞬间同时多达12个人进行操作。但如果是后者就麻烦了,因为可能会有几十个人进入系统。(大部分时间是停留在界面上)。还有一种说法,说这用户是指数据库创建的登录名,譬如sa是一个用户,那么sa2就是第二个用户。要这样的话,事情就好办了,我写两个系统,分别用sa和sa2,岂不就是只占用两个名额?个人感觉这好像不太靠谱。
...全文
15654 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wllllll 2021-01-30
  • 打赏
  • 举报
回复
MVC只是一种开发办法而已,没什么必须学习的必要。 你的问题就是换个SQL。没了
可爱的肥皂 2020-12-30
  • 打赏
  • 举报
回复
弄个web网站吧。
蜗牛学编程 2020-12-30
  • 打赏
  • 举报
回复
引用 14 楼 wllllll 的回复:
你看到二三四楼估计烦了吧,每次见他我都恶心,每次不想解决办法,先说你技术垃圾系统老旧。 1、你的链接是?\\192.168.1.55\共享\Form.exe 这样的?这样的链接属于共享文件。 2、你的链接是?http://192.168.1.55\Form.exe 这样的?这是下载到本地后执行,一样属于网络链接SQL。安全性较好。 3、客户端链接上就是一个并发。代码写不好,一个客户端运行产生好几个并发都可能。 建议: 1、你要换一个SQL版本,找2008R2吧,至少没那么多限制,反破解的功能也不是那么恐怖。你的那个提示就是链接数超限了。 2、使用第二种下载链接方式,这样任何浏览器都支持,每次都下载执行就可以了。 3、如果使用了第一种链接方式,服务器安全性堪忧,可能已经被入侵成功。建议重装系统。 4、无客户机安全设置权限的,建议……好好做Web软件(太麻烦就算了)。
多谢您的指点。 我的是第一种方式,放在工作站,然后把系统的链接地址放在网上。 想请教一下您,如果能转换成第二种方式吗?倒不是怕破解,因为公司的防火墙很变态,我们这是属于内网,基本没有破解入侵的可能性,除非是内部人士。 现在正在学习webform,没太多精力学MVC了,因为同时在线撑死了几十个人,webform足以应付。哈哈,其实主要是年龄大了,自学这些东东太伤脑子,跟不上了。
shawn_yang 2020-12-29
  • 打赏
  • 举报
回复
winform用bs方式,我看不懂了
wllllll 2020-12-25
  • 打赏
  • 举报
回复
你看到二三四楼估计烦了吧,每次见他我都恶心,每次不想解决办法,先说你技术垃圾系统老旧。 1、你的链接是?\\192.168.1.55\共享\Form.exe 这样的?这样的链接属于共享文件。 2、你的链接是?http://192.168.1.55\Form.exe 这样的?这是下载到本地后执行,一样属于网络链接SQL。安全性较好。 3、客户端链接上就是一个并发。代码写不好,一个客户端运行产生好几个并发都可能。 建议: 1、你要换一个SQL版本,找2008R2吧,至少没那么多限制,反破解的功能也不是那么恐怖。你的那个提示就是链接数超限了。 2、使用第二种下载链接方式,这样任何浏览器都支持,每次都下载执行就可以了。 3、如果使用了第一种链接方式,服务器安全性堪忧,可能已经被入侵成功。建议重装系统。 4、无客户机安全设置权限的,建议……好好做Web软件(太麻烦就算了)。
kousansky 2020-12-11
  • 打赏
  • 举报
回复
改成web 部署到iis上多方便
蜗牛学编程 2020-12-02
  • 打赏
  • 举报
回复
引用 10 楼 icoolno1 的回复:
做成clickonce应用吧,点开链接自动下载安装,然后就可以使用了。 Publishing ClickOnce Applications - Visual Studio | Microsoft Docs https://docs.microsoft.com/zh-cn/visualstudio/deployment/publishing-clickonce-applications?view=vs-2019
好办法,但行不通,因为公司不允许个人安装任何修改注册表的软件程序,我也不可能让所有使用的人都跑去IT那申请,流程太繁琐了。 公司比较注重信息安全,导致现在很麻烦,只能通过在网页上设置超链接的方式让大家使用这个系统
SayoKun 2020-12-02
  • 打赏
  • 举报
回复
引用 8 楼 蜗牛学编程 的回复:
[quote=引用 5 楼 SayoKun 的回复:]首先从你的描述中来看感觉你是直接用客户端去直连了你的数据库?
我是写了一个winform系统,放在服务器。然后把链接地址放在公司网页,同事点击就能打开服务器的winform。 这种情况应该不算是用客户端连接数据库吧?因为winform还是在服务器,并不是下载到客户端的[/quote] 这样结果是一样的,你每个同事打开的WINFORM都是单独运行的,每一次打开都是新建的数据库连接。你可以查看下数据库连接池里有多少个连接就知道是不是了,如果连接数太多你看看是不是你设置的连接上限或者做一个单独的后端让WINFORM单独请求后端就行了。
八爻老骥 2020-12-02
  • 打赏
  • 举报
回复
做成clickonce应用吧,点开链接自动下载安装,然后就可以使用了。


Publishing ClickOnce Applications - Visual Studio | Microsoft Docs
https://docs.microsoft.com/zh-cn/visualstudio/deployment/publishing-clickonce-applications?view=vs-2019
土土 2020-12-02
  • 打赏
  • 举报
回复
winform 是exe dll 怎么会有链接呢?
蜗牛学编程 2020-12-01
  • 打赏
  • 举报
回复
引用 5 楼 SayoKun 的回复:
首先从你的描述中来看感觉你是直接用客户端去直连了你的数据库?
我是写了一个winform系统,放在服务器。然后把链接地址放在公司网页,同事点击就能打开服务器的winform。 这种情况应该不算是用客户端连接数据库吧?因为winform还是在服务器,并不是下载到客户端的
蜗牛学编程 2020-12-01
  • 打赏
  • 举报
回复
引用 6 楼 土土 的回复:
winform在浏览器里访问?你到底做的是网站还是APP?
。 我是写了一个winform系统,放在服务器。然后把链接地址放在公司网页,同事点击就能打开服务器的winform。
土土 2020-12-01
  • 打赏
  • 举报
回复
winform在浏览器里访问?你到底做的是网站还是APP?
SayoKun 2020-11-30
  • 打赏
  • 举报
回复
首先从你的描述中来看感觉你是直接用客户端去直连了你的数据库?
  • 打赏
  • 举报
回复
通讯、“并发”等等问题,譬如说 SQLServer,它有一个 server,它有 client 驱动提供远程读写某表中某些行的数据,它是一个数据存储机制,它是一个 c/s 系统,它不过是用来备份数据,它从远端访问数据库需要 TCP/IP协议。任何公司要自己开发(稍微)有一丁点儿性能的 c/s 系统,使用浏览器端的应用通过 ClientWebSocket 来访问自己公司开发的 Server 接口,支持几千乃至几万人并发访问,这是程序设计师的职责和知识框架内感觉“份内的”事情。至于说“勉强”支持十几个人使用,我们反而回答不了这类问题,因为这类东西我们反而不去想,就好像从未糊弄过人一样。
  • 打赏
  • 举报
回复
我昨天将我们为 .net core 3.1 服务器开发的自动测试程序以及其它服务器端计算框架工程项目,在 webassembly 网页项目中进行引用,稍作修改(主要是取控制台的颜色和位置语句稍作修改,判断平台而屏蔽那几条语句,这样我们的网页程序员就能直接的调用我们之前为服务器端编程而写的算法并且进行自动测试了。我们现在不需要任何 js 程序员来开发高性能 web 应用,只要 c# 程序员懂前端 web 技术原理就够了。现在的浏览器不需要某公司独家的插件技术,而是可以使用开放的 webassembly 标准跑起来 .net 5,因此要使用浏览器支持的 c# 来开发浏览器应用,而不是使用桌面 c# 开发。
  • 打赏
  • 举报
回复
c# 以及 .net 框架现在可以运行在各大浏览器,这个技术叫做 blazor webassembly。IE浏览器早就淘汰了,即使是微软自家的也是使用 Edge 浏览器。浏览器对于像什么 ActiveX之类的并不支持。或许再多半年有基于 webasseembly 的新一代 Silverlight 开源项目重新出现,因为毕竟现在浏览器运行 .net 框架的各种 dll 二进制文件基本上是本地原生系统的速度,完全可以轻松地(稍加修改)让 silverlight 的 dll 跑在浏览器上。

关于“龟速”,这个首先应该是 c/s 概念问题。一个公司应该自己开发 c,同时自己开发 s。如果你只会开发一个客户端界面,通过数据库驱动调用人家数据库 s 端系统,你以访问数据库作为“通讯”,这就好像用飞鸽传书(我是说动物飞鸽、不是指局域网通讯软件)来代替手机微信,充其量能达到什么水平,遇到类似网络设计问题岂不是正常?!你只能达到这个程度,那么只好点到为止。不然你明明容易轻易垮掉却要说我“不讲武德”了。所以这是一个走出幼儿园、抛开滥用数据库,学习网络开发的问题。
ziqi0716 2020-11-27
  • 打赏
  • 举报
回复
要补的太多了啊老弟,目前描述来看,你还不如把具体需求说了,找个人给你做

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧