关于B/S架构我一直有一点疑问:既然所谓的瘦客户端是指主要的事务处理逻辑部署在服务器上,那网页的后台代码(比如ASP.NET的.CS文件)是运行在服务器端还是运行在浏览器中?后台代码实现事务处理逻辑算是瘦客户端吗?如果不算的话,事务处理逻辑应该在哪实现?是Web Service吗?
另外,C/S架构中,服务器端只是一个单纯的数据库吗?客户端直接读写数据库吗?

解决方案 »

  1.   

    b/s是一个特殊的c/s结构。
    ASP.NET会使用ASPX文件(ASP.NET页面)和对应的CodeBehind代码渲染,得到html。浏览器解析并且显示html(css),执行客户端脚本(js)。可以说b/s结构的程序是瘦客户+富服务器的,但是近来ajax盛行,使得客户端有变得“富”的倾向。主要的业务逻辑在服务器端完成,但是客户端也可以处理一些业务,比如分页、简单查询、输入验证,甚至客户端数据库等等。因为b/s是特殊的c/s(client 在这里是特殊的程序,browser),所以你的最后一个问题可以解释了。
      

  2.   

    看了一楼的回答后我觉得 很正确了 有一种满足感不知楼下各位怎么想
    亲!~要明白 什么是BS
    亲!~aspx 是什么类型的执行!~
    亲!~记得结贴哦!~
      

  3.   

    对于很多多人来说,浏览器端只是对网页进行简单的html解析和javascript执行,很高兴地把它叫做b/s编程了;于是类比地,假设写个winform程序,只是调用关系数据库的客户端驱动来访问数据库,于是也很高兴地叫做c/s编程了。你可以看到,不论是使用很低入门门槛的asp.net还是更低入门门槛的ado.net来访问数据库,你几乎都是在本地访问数据库而已。不过原本这并不应该纠结于访问关系数据库的驱动程序进行什么业务处理。业务处理是指站在服务角度而言的,例如移动公司开放了收发短信的网关,或者淘宝开放了商店经营管理的api,那么各种第三方厂家就可以用来做测试、开发出百花齐放式的不同应用。这是面向服务而言的,这时候再去讨论b/s、c/s才有真正的意义。网页是通过form.submit方式提交数据、或者如今各种ajax以类似于rpc调用方式访问http消息服务,桌面应用就是通过tcp方式或者微软或者sun指定的各种RPC调用规范方式提交数据,等,这个时候去讨论b/s、c/s就比较明确了。如果你所说的网络编程只是考虑到如何调用关系数据库的ado.net那几条语句,那么这时候去看你编程手段,除了“xxxx只是一个数据库吗?yyyyy只是一个数据库吗?”以外很难再有什么创意了。
      

  4.   

    对于很多多人来说,浏览器端只是对网页进行简单的html解析和javascript执行,很高兴地把它叫做b/s编程了;于是类比地,假设写个winform程序,只是调用关系数据库的客户端驱动来访问数据库,于是也很高兴地叫做c/s编程了。你可以看到,不论是使用很低入门门槛的asp.net还是更低入门门槛的ado.net来访问数据库,你几乎都是在本地访问数据库而已。不过原本这并不应该纠结于访问关系数据库的驱动程序进行什么业务处理。业务处理是指站在服务角度而言的,例如移动公司开放了收发短信的网关,或者淘宝开放了商店经营管理的api,那么各种第三方厂家就可以用来做测试、开发出百花齐放式的不同应用。这是面向服务而言的,这时候再去讨论b/s、c/s才有真正的意义。网页是通过form.submit方式提交数据、或者如今各种ajax以类似于rpc调用方式访问http消息服务,桌面应用就是通过tcp方式或者微软或者sun指定的各种RPC调用规范方式提交数据,等,这个时候去讨论b/s、c/s就比较明确了。如果你所说的网络编程只是考虑到如何调用关系数据库的ado.net那几条语句,那么这时候去看你编程手段,除了“xxxx只是一个数据库吗?yyyyy只是一个数据库吗?”以外很难再有什么创意了。
      

  5.   

    c/s结构的概念大致出现与上世纪90年代初,那个时候pc机联网技术已经出现了好几年了。不是说凡是pc及联网、访问小型机的关系数据库或者pc机的关系数据库(其实pc机的关系数据库在90年代中才刚刚成熟)叫做c/s。这个c/s概念显然是滞后于pc机联网好几年的,更加滞后于计算机网络编程技术至少20年(早在pc机联网之前十几年,大型机、小型机联网就可以跨越欧洲或者美洲大陆了)。同样地,b/s编程概念其实是在本世纪初才提出来,这个时候互联网已经经过了第一次鼎盛时期甚至几乎泡沫破裂。这个时候也是因为希望企业应用也借用传统的互联网浏览方式,才出现的b/s编程概念。这个b/s概念也是滞后于互联网网页浏览好多年的。因此要从比较专业的角度入手去理解b/s、c/s编程概念,而并不是有个浏览器存在就说是b/s、凡是没有浏览器在就说是c/s。它在流行时是有主流的具体的技术手段的。
      

  6.   


    你发布网站的时候 cs文件被打包编译成dll文件了但是如果你反编译也是能看得到的   你可以混淆什么的来处理这个问题一般情况下 不用    食欲浏览器访问是因为你直接浏览项目文件夹  而不是发布后的文件包