不是很明白你的要求:
mvc模式,你指的是ASP.NET MVC 吧?不是设计模式mvc你可以直接在asp.net mvc 里面调用wcf host service.
配置加到web.config
http://msdn.microsoft.com/zh-cn/library/bb763177(v=vs.90).aspx

解决方案 »

  1.   


    我cs中原来没有通过配置文件的方式配置wcf,是通过代码的方式实现的,(代码见下)所以需要mvc中一直运行的线程作为该段程序的宿主。 private static readonly Subscriber instance = new Subscriber();
                public static Subscriber getInstance()
                {
                    return instance;
                }
                private string _serviceUri;
                private MessageListener _listener = new MessageListener();
                private IServicesContracts _serviceProxy;            private Subscriber( )
                {
                    _serviceUri = "net.tcp://" + SystemStaticParams.ServerIP + ":" + SystemStaticParams.ServerPort + "";
                }            //订阅服务端
                public bool Subscribe()
                {
                    try
                    {
                        NetTcpBinding binding = new NetTcpBinding();
                        binding.SendTimeout = new TimeSpan(0, 0, 30);
                        binding.Security.Mode = SecurityMode.None; //匿名方式订阅。
                        binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.None;
                        _serviceProxy = DuplexChannelFactory<IServicesContracts>.CreateChannel(_listener, binding, new EndpointAddress(_serviceUri));
                        return _serviceProxy.Regist();
                    }
                    catch (Exception)
                    {                    return false;
                    }
                    
                }
      

  2.   

    不太明白楼主的意思,WCF继续运行好了,MVC调用和显示.
      

  3.   

    嗯,建议;
    1、把wcf变成 host service. 并作为windows service来运行
    2、在mvc把client, data contract的引用加进去
    3、最后在web.config 把ENDPOINT 配置好理由:
    1、ASP.NET MVC 本就是客户端的一种,就是来消费WCF服务的。
    2、权限 线程都不要在ASP.NET考虑了
    3、这是比较常见中大型软件设计结构
      

  4.   

    其实就是想问下,mvc项目部署每次iis启动时mvc内部方法的执行顺序?
      

  5.   


    谢谢你的热心关注:
    嗯,建议;
    1、把wcf变成 host service. 并作为windows service来运行
    wcf目前就是以windows service来运行的。就是不想在改变windows service的情况下增加ASP.NET MVC对wcf的访问。这个应该都知道,要改cs客户端升级是一场恶梦啊。wcf中的数据一部分来自数据库,一部分来自设备实施的采集
    2、在mvc把client, data contract的引用加进去
    这里应该是一种办法,目前对mvc的了解不多啊,可否推荐一些资料或文章?(之前做cs的)
    3、最后在web.config 把ENDPOINT 配置好
    这是一种办法,可是目前cs程序中所有的参数全部配置在数据库中。难道每次部署都要改web.config,还是想通过代码从数据库中取参数?理由:
    1、ASP.NET MVC 本就是客户端的一种,就是来消费WCF服务的。
    跟我目前的想法一致,就是想让mvc来消费wcf的服务,可是消费得找到一个宿主线程来寄宿啊。(貌似又回到问题的原点了,汗!)
    2、权限 线程都不要在ASP.NET考虑了
    3、这是比较常见中大型软件设计结构
      

  6.   

    这是一个在asp.net mvc配置wcf service的例子
    http://msdn.microsoft.com/en-ca/library/bb763177(v=vs.90).aspx
    详细资料看微软文档<system.servicemodel>
      <bindings>
        <nettcpbinding>
          <binding name="ManagerBinding" closetimeout="00:02:00" opentimeout="00:02:00" receivetimeout="00:21:00" sendtimeout="00:02:00" maxbuffersize="1000000000" maxbufferpoolsize="1000000000" maxreceivedmessagesize="1000000000">
          </binding>
        </nettcpbinding>
      </bindings>
      <client>
        <endpoint address="net.tcp://localhost:8888/wcfService" binding="netTcpBinding" bindingconfiguration="ManagerBinding" contract="FullNameSpace.IServiceManager">
          <identity>
            <serviceprincipalname>
          </serviceprincipalname></identity>
        </endpoint>
      </client>
    </system.servicemodel>
      

  7.   

    哈哈。刚才发现了一个方法Global.asax.cs文件中的Application_Start(),可以用来寄宿wcf的client并且通过代码配置终结点注册像cs客户端一样的net.tcp通道,这样有利于保证数据的实时性,wcf的http方式每次用数据得询问wcf服务。
    Application_Start()方法就是mvc的入口函数。
    但是不知道对mvc程序有没有影响?看来对mvc执行方式还的加强啊。rayaspnet兄台的方式也可行,通过配置文件配置。
    帖子等等再结。大虾们如果有更好的方法希望告知啊,大家讨论下。
      

  8.   

    楼主你的问题解决了吗 
    最近刚接触.net mvc,需要在服务器开辟一个线程不断访问一个网页。。
    不知道如何操作啊  求楼主赐教