不是很明白你的要求:
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
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
解决方案 »
- 设为首页代码如何写?
- 用模态窗口弹出一个页面可以调父窗体方法,但是用window.showModelessDialog弹出同一个页面,调方法时会报错
- 在js中如何给ajax控件赋值
- 针式打印机的打印问题
- 用三层做的论坛,准备用这个做应聘项目,大家帮忙看一下,有什么意见或BUG!谢谢!!!
- 想做一个从数据库取字段自动生成实体的工具,请问该如何获取数据库的字段的"列明"和"描述信息"啊(内详)
- 怎么样把"http://www.oo.com/q?word=dropdownlist&ct=17&pn=0&t1" 双引号里边的数据 保存到数据库里?
- iis中.htm和asp都不能执行,但.aspx是可以执行的,到底是怎么回事呢,帮个技术忙啊!
- (急用)如何将一个多条记录的表一次性存进数据库中的表?
- /*紧急*/可不可以像使用数组一样使用使用Session
- C# 工厂模式反射引用问题
- asp.net如何读取数据库里html代码,显示为超链接
我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;
}
}
1、把wcf变成 host service. 并作为windows service来运行
2、在mvc把client, data contract的引用加进去
3、最后在web.config 把ENDPOINT 配置好理由:
1、ASP.NET MVC 本就是客户端的一种,就是来消费WCF服务的。
2、权限 线程都不要在ASP.NET考虑了
3、这是比较常见中大型软件设计结构
谢谢你的热心关注:
嗯,建议;
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、这是比较常见中大型软件设计结构
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>
Application_Start()方法就是mvc的入口函数。
但是不知道对mvc程序有没有影响?看来对mvc执行方式还的加强啊。rayaspnet兄台的方式也可行,通过配置文件配置。
帖子等等再结。大虾们如果有更好的方法希望告知啊,大家讨论下。
最近刚接触.net mvc,需要在服务器开辟一个线程不断访问一个网页。。
不知道如何操作啊 求楼主赐教