B/S架构如何调用C/S中的某个函数,即B/S与C/S通讯

时间:2021-02-05 19:14:23
如题:
  B/S与C/S如何进行通讯, B/S架构如何调用C/S中的某个函数
  在C/S架构中与电表硬件进行操作,从硬件中读取数据,同时对硬件进行操作,
  在B/S架构中,可以发送买电和售电的信息,将信息传到服务器,服务器在将售电的信息传给
  C/S中,对电表进行操作,在讲操作的结果返回给客户端。
  先谢过了。。。

36 个解决方案

#1


B/S里增加个WEBSERVICE C/S来调用把。

#2


引用 1 楼 zgke 的回复:
B/S里增加个WEBSERVICE C/S来调用把。

能否说的详细点,我不太懂 WEBSERVICE ,谢谢了。。。

#3


参考下WEBSERVICE 方面的文章,其实很简单,就是一个接口,发布以后,在CS中引用那个WEBSERVICE,可以直接调用WEBSERVICE 里的方法,即实现了跟BS跟CS的交互

#4


你首先要发布一个webservice的接口,可以在cs程序中调用现有的业务逻辑,也可以从持久化层中直接取数据,发布之后,就可以在bs中call这个webservice了

#5


这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

#6


引用 5 楼 foren_whb 的回复:
这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

只通过数据库没法全面的实现的,
还有客户端的触发信息,只有客服端触发了售电信息才可以对电表进行售电的

#7


引用 6 楼 wl_ldy 的回复:
引用 5 楼 foren_whb 的回复:

这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

只通过数据库没法全面的实现的,
还有客户端的触发信息,只有客服端触发了售电信息才可以对电表进行售电的

客户端也可以定期刷新数据吧

#8


引用 7 楼 foren_whb 的回复:
客户端也可以定期刷新数据吧

是的 可以刷新数据的。。。

#9


webservice or WCF

#10


webservice........................

#11


引用 9 楼 criedshy 的回复:
webservice or WCF

查了查,很多是B/S的发布成webservice,在WindowForm中调用webservice,
   而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?

#12


不就是对数据库进行更新的操作吗!

#13


引用 12 楼 msq7487223 的回复:
不就是对数据库进行更新的操作吗!

不仅仅是对数据库进行更新的 还有部分操作是对硬件进行操作的。。。

#14


而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

#15


引用 14 楼 hjw01592 的回复:
而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

那B/S中还是不能调用C/S中的方法了吗?

#16


webservice B/S C/S都可以调用 相当一个中间件

#17


引用 16 楼 criedshy 的回复:
webservice B/S C/S都可以调用 相当一个中间件

哦 网上大部分是C/S调用webservice,C/S如何发布成webservice,B/S如何调用webservice ?
有没有例子???谢谢了。。。

#18


引用 15 楼 wl_ldy 的回复:
引用 14 楼 hjw01592 的回复:

而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

那B/S中还是不能调用C/S中的方法了吗?


C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?期待高人解答

#19


给你个webservice的例子:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    #region 执行sql语句,并返回DataSet
    /// <summary>
    /// 执行一个sql语句,将结果集以DataSet对象的形式返回
    /// </summary>
    /// <param name="Query">要执行的sql语句</param>
    /// <returns></returns>
    [WebMethod]
    public DataSet SQLDB(string Query)
    {
        SqlConnection CS = null;
        try
        {
            CS = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConSQL"]);
            SqlDataAdapter myCommand = new SqlDataAdapter(Query, CS);
            DataSet myDataSet = new DataSet();
            myCommand.Fill(myDataSet, "Results");
            return myDataSet;
        }
        catch (Exception ex)
        {
            return DataError(ex);
        }
        finally
        {
            if (CS != null)
            {
                CS.Close();
            }
        }
    }
    #endregion

    #region 出错处理
    /// <summary>
    /// 出错处理
    /// </summary>
    /// <param name="ex">出错信息</param>
    /// <returns></returns>
    public DataSet DataError(Exception ex)
    {
        DataSet errDS = new DataSet("Errors");
        DataTable errTable = errDS.Tables.Add("Error");
        errTable.Columns.Add("Message");
        errTable.Rows.Add(new Object[] { ex.Message });
        return errDS;
    }
    #endregion 
}

#20


引用 18 楼 hjw01592 的回复:
C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?……

16楼的大哥说可以,在网上也没找到例子,只有B/S发布成webservice的,等待中。。。

#21


引用 18 楼 hjw01592 的回复:
C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?期……


谁说的呢?

.net开发的web service、wcf,可以部署在console、winForm、windows service、IIS等多种宿主上。

#22


引用 21 楼 sp1234 的回复:
.net开发的web service、wcf,可以部署在console、winForm、windows service、IIS等多种宿主上。

那C/S中式如何发布成webservice的?有例子吗?谢谢了。。。

#23


随便搜到msdn上一个关于“承载”的文章:

http://msdn.microsoft.com/zh-cn/library/ms730158.aspx

我自己做的一个windows service程序(调试时它也可以使用console窗口模式执行)中启动一个HttpListener,于是浏览器等就可以访问我的这个用console程序制作的网站。

#24


引用 23 楼 sp1234 的回复:
随便搜到msdn上一个关于“承载”的文章:

http://msdn.microsoft.com/zh-cn/library/ms730158.aspx

我自己做的一个windows service程序(调试时它也可以使用console窗口模式执行)中启动一个HttpListener,于是浏览器等就可以访问我的这个用console程序制作的网站。

网上说:WebBrowser页面与WinForm交互,您看能实现吗?

#25


webservice or WCF

#26


恩 谢谢各位高人的指点。。。

#27


mark
学习!

#28


请参考 WCF

#29


请参考 WCF

#30


C/S中的某个函数。
=====================
给CS程序提供多一种接口调用方式就OK了
比如说:
aa.exe===>aa.exe '参数1 参数2......'

#31


引用 30 楼 flyerwing 的回复:
C/S中的某个函数。
=====================
给CS程序提供多一种接口调用方式就OK了
比如说:
aa.exe===>aa.exe '参数1 参数2......'

不太明白,能说的 具体些吗?

#32


偶理解的不知道对不对;
比如说:播放器启动可以传递给参数,也可以无参数启动的;传递了文件地址,直接播放,
不知道你说的是不是这个意思。

#33


引用 32 楼 flyerwing 的回复:
偶理解的不知道对不对;
比如说:播放器启动可以传递给参数,也可以无参数启动的;传递了文件地址,直接播放,
不知道你说的是不是这个意思。

播放器的知识不太懂,我就是想通过B/S操作触发  C/S,调用其中的函数去执行。。。

#34


到现在 建立了一个Asp.net的网站、WinForm项目,并且将Asp.net的网站发布为Webservice服务,
在WinForm项目中可以调用Webservice服务访问Asp.net中的函数了,
但是, WinForm项目如何才能发布为Webservice服务
对WCF不太了解,急。。。谢谢各位。。。

#35


将C/S的项目编译好的DLL,让B/S引用DLL,然后创建实例,进行实例调用函数操作。

#36


引用 35 楼 hanguoji84 的回复:
将C/S的项目编译好的DLL,让B/S引用DLL,然后创建实例,进行实例调用函数操作。

我试过了 但是调用DLL时  报错,没有入口点

#1


B/S里增加个WEBSERVICE C/S来调用把。

#2


引用 1 楼 zgke 的回复:
B/S里增加个WEBSERVICE C/S来调用把。

能否说的详细点,我不太懂 WEBSERVICE ,谢谢了。。。

#3


参考下WEBSERVICE 方面的文章,其实很简单,就是一个接口,发布以后,在CS中引用那个WEBSERVICE,可以直接调用WEBSERVICE 里的方法,即实现了跟BS跟CS的交互

#4


你首先要发布一个webservice的接口,可以在cs程序中调用现有的业务逻辑,也可以从持久化层中直接取数据,发布之后,就可以在bs中call这个webservice了

#5


这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

#6


引用 5 楼 foren_whb 的回复:
这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

只通过数据库没法全面的实现的,
还有客户端的触发信息,只有客服端触发了售电信息才可以对电表进行售电的

#7


引用 6 楼 wl_ldy 的回复:
引用 5 楼 foren_whb 的回复:

这种需求,
完全可以通过数据库或数据文件来实现,
什么其他的方法都不需要

只通过数据库没法全面的实现的,
还有客户端的触发信息,只有客服端触发了售电信息才可以对电表进行售电的

客户端也可以定期刷新数据吧

#8


引用 7 楼 foren_whb 的回复:
客户端也可以定期刷新数据吧

是的 可以刷新数据的。。。

#9


webservice or WCF

#10


webservice........................

#11


引用 9 楼 criedshy 的回复:
webservice or WCF

查了查,很多是B/S的发布成webservice,在WindowForm中调用webservice,
   而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?

#12


不就是对数据库进行更新的操作吗!

#13


引用 12 楼 msq7487223 的回复:
不就是对数据库进行更新的操作吗!

不仅仅是对数据库进行更新的 还有部分操作是对硬件进行操作的。。。

#14


而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

#15


引用 14 楼 hjw01592 的回复:
而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

那B/S中还是不能调用C/S中的方法了吗?

#16


webservice B/S C/S都可以调用 相当一个中间件

#17


引用 16 楼 criedshy 的回复:
webservice B/S C/S都可以调用 相当一个中间件

哦 网上大部分是C/S调用webservice,C/S如何发布成webservice,B/S如何调用webservice ?
有没有例子???谢谢了。。。

#18


引用 15 楼 wl_ldy 的回复:
引用 14 楼 hjw01592 的回复:

而我 想C/S的发布成webservice,在B/S中调用webservice,能否实现?
这个好像不行吧

那B/S中还是不能调用C/S中的方法了吗?


C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?期待高人解答

#19


给你个webservice的例子:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    #region 执行sql语句,并返回DataSet
    /// <summary>
    /// 执行一个sql语句,将结果集以DataSet对象的形式返回
    /// </summary>
    /// <param name="Query">要执行的sql语句</param>
    /// <returns></returns>
    [WebMethod]
    public DataSet SQLDB(string Query)
    {
        SqlConnection CS = null;
        try
        {
            CS = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConSQL"]);
            SqlDataAdapter myCommand = new SqlDataAdapter(Query, CS);
            DataSet myDataSet = new DataSet();
            myCommand.Fill(myDataSet, "Results");
            return myDataSet;
        }
        catch (Exception ex)
        {
            return DataError(ex);
        }
        finally
        {
            if (CS != null)
            {
                CS.Close();
            }
        }
    }
    #endregion

    #region 出错处理
    /// <summary>
    /// 出错处理
    /// </summary>
    /// <param name="ex">出错信息</param>
    /// <returns></returns>
    public DataSet DataError(Exception ex)
    {
        DataSet errDS = new DataSet("Errors");
        DataTable errTable = errDS.Tables.Add("Error");
        errTable.Columns.Add("Message");
        errTable.Rows.Add(new Object[] { ex.Message });
        return errDS;
    }
    #endregion 
}

#20


引用 18 楼 hjw01592 的回复:
C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?……

16楼的大哥说可以,在网上也没找到例子,只有B/S发布成webservice的,等待中。。。

#21


引用 18 楼 hjw01592 的回复:
C/S发布成webservice这个好像不行,按我的理解,webservice的本质就是一个网站,通过IIS发布,C/S能发布成网站吗?期……


谁说的呢?

.net开发的web service、wcf,可以部署在console、winForm、windows service、IIS等多种宿主上。

#22


引用 21 楼 sp1234 的回复:
.net开发的web service、wcf,可以部署在console、winForm、windows service、IIS等多种宿主上。

那C/S中式如何发布成webservice的?有例子吗?谢谢了。。。

#23


随便搜到msdn上一个关于“承载”的文章:

http://msdn.microsoft.com/zh-cn/library/ms730158.aspx

我自己做的一个windows service程序(调试时它也可以使用console窗口模式执行)中启动一个HttpListener,于是浏览器等就可以访问我的这个用console程序制作的网站。

#24


引用 23 楼 sp1234 的回复:
随便搜到msdn上一个关于“承载”的文章:

http://msdn.microsoft.com/zh-cn/library/ms730158.aspx

我自己做的一个windows service程序(调试时它也可以使用console窗口模式执行)中启动一个HttpListener,于是浏览器等就可以访问我的这个用console程序制作的网站。

网上说:WebBrowser页面与WinForm交互,您看能实现吗?

#25


webservice or WCF

#26


恩 谢谢各位高人的指点。。。

#27


mark
学习!

#28


请参考 WCF

#29


请参考 WCF

#30


C/S中的某个函数。
=====================
给CS程序提供多一种接口调用方式就OK了
比如说:
aa.exe===>aa.exe '参数1 参数2......'

#31


引用 30 楼 flyerwing 的回复:
C/S中的某个函数。
=====================
给CS程序提供多一种接口调用方式就OK了
比如说:
aa.exe===>aa.exe '参数1 参数2......'

不太明白,能说的 具体些吗?

#32


偶理解的不知道对不对;
比如说:播放器启动可以传递给参数,也可以无参数启动的;传递了文件地址,直接播放,
不知道你说的是不是这个意思。

#33


引用 32 楼 flyerwing 的回复:
偶理解的不知道对不对;
比如说:播放器启动可以传递给参数,也可以无参数启动的;传递了文件地址,直接播放,
不知道你说的是不是这个意思。

播放器的知识不太懂,我就是想通过B/S操作触发  C/S,调用其中的函数去执行。。。

#34


到现在 建立了一个Asp.net的网站、WinForm项目,并且将Asp.net的网站发布为Webservice服务,
在WinForm项目中可以调用Webservice服务访问Asp.net中的函数了,
但是, WinForm项目如何才能发布为Webservice服务
对WCF不太了解,急。。。谢谢各位。。。

#35


将C/S的项目编译好的DLL,让B/S引用DLL,然后创建实例,进行实例调用函数操作。

#36


引用 35 楼 hanguoji84 的回复:
将C/S的项目编译好的DLL,让B/S引用DLL,然后创建实例,进行实例调用函数操作。

我试过了 但是调用DLL时  报错,没有入口点