最新评论
Re:我的毕业设计---高校奖金管理系统的设计及实现 superstar 2011-09-22 15:30
能发一份源码我吗?
Re:.net中的4种事务总结 不若相忘于江湖 2011-02-17 11:04
服务端的DTC,要求对呼叫方进行验证,
1 这个验证是怎么验证呢,服务端和客户端需不需要做什么准备工作,
比如:证书信任之类的
Re:WCF中使用扩展行为来验证连接的用户 暗香疏影 2010-12-24 13:29
楼主,问下AppContext是在哪里定义的啊??????
Re:软件技术网站精选 xxxxxxxxxxxxxxxxxxx 2010-12-17 15:13
你们何必那么极端呢?有用的就是好的。
Re:WCF中使用扩展行为来验证连接的用户 年青人 2010-10-15 00:10
GOOD,gooD,tks.
不知道windows mobile的桌面快捷方式在哪?而且不能在程序安装时自动创建桌面快捷方式。
Re:使用MVP模式实现B/S和C/S平台的功能通用 chunchill 2010-04-16 16:26
Demo写的很好,看完之后对MVP有了初步的认识!
把不同的view看做不同的业务对象,这就是一篇不错的对象的适配器模式DEMO了。
@Jianqiang Bao
所谓条条道路通罗马,只要能解决问题的就是好方法。
不过不明白使用builder模式如何能实现和UI的分离,只听过使用MVP或MVC
写的不错,不过MVP实际上是MVC架构的变种;MVP架构对B/S和C/S代码适应性很强,B/S页面层代码很容易迁移到C/S中。不过此架构不适合小项目,否则代码量会很高,反而增加了项目成本。
MVP不是一种模式,而是一种架构模式,上面的兄弟别搞错了。:)
Re:使用MVP模式实现B/S和C/S平台的功能通用 Jianqiang Bao 2010-04-11 22:10
不对啊~
bs和cs的通用性明显是用builder模式实现的
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-23 11:56
[quote]不若相忘于江湖:
[quote]ruinet:
[quote]不若相忘于江湖:
楼主.
是这样的.
[code=csharp]
void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
foreach (ChannelDispatcher ch1 in serviceHostBase.ChannelDispatchers)
{
foreach...[/quote]
实现IServiceBehavior 接口. 你在服务器端只实现IEndpointBehavior不
会触发新的事件.
[/quote]
谁说实现IEndpointBehavior不会触发事件。
这个demo的完整实例,还需在服务端附加行为,来封装当前访问用户,而不是每次都通过string userName = OperationContext.Current.IncomingMessageHeaders.GetHeader<string>("UserName",
"http://ruinet.cnblogs.com/username");这样的方法来获取。肯定可以触发
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-23 09:52
[quote]ruinet:
[quote]不若相忘于江湖:
楼主.
是这样的.
[code=csharp]
void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
foreach (ChannelDispatcher ch1 in serviceHostBase.ChannelDispatchers)
{
foreach...[/quote]
实现IServiceBehavior 接口. 你在服务器端只实现IEndpointBehavior不
会触发新的事件.
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 21:09
[quote]不若相忘于江湖:
楼主.
是这样的.
[code=csharp]
void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
foreach (ChannelDispatcher ch1 in serviceHostBase.ChannelDispatchers)
{
foreach (EndpointDispatcher end in ch1.Endpoints)
{
end.DispatchRuntime.MessageInspectors.Add(new AttachContextInspector());
}
}
}
[/code][/quote]
你实现的是什么接口,你搞错了吧,要实现IEndpointBehavior
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 17:47
哦. 忘了说明.
是在服务端
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 17:36
楼主.
是这样的.
[code=csharp]
void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
foreach (ChannelDispatcher ch1 in serviceHostBase.ChannelDispatchers)
{
foreach (EndpointDispatcher end in ch1.Endpoints)
{
end.DispatchRuntime.MessageInspectors.Add(new AttachContextInspector());
}
}
}
[/code]
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 16:55
[quote]不若相忘于江湖:
1 AfterReceiveRequest
不会触发到这个事件,
2 必面实现 IServiceBehavior接口 才可以使用
<behaviorExtensions><add name="attachContextHeader">
这里没有全部写上</behaviorExtensions>[/quote]
不明白你的问题,如果你是在客户端附加行为,AfterReceiveRequest不会被触发,只会触发BeforeSendReply
如果是在服务器端附加行为会先触发AfterReceiveRequest,然后再触发BeforeSendReply事件
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 16:15
1 AfterReceiveRequest
不会触发到这个事件,
2 必面实现 IServiceBehavior接口 才可以使用
<behaviorExtensions><add name="attachContextHeader">
这里没有全部写上</behaviorExtensions>
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 13:45
@ruinet
谢谢...
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 12:49
[quote]不若相忘于江湖:
@ruinet
谢谢.. 没注意到.. 哈哈. 原来它是放在客户端的.
想问一个问题: 如果我需要这样的一个功能,该怎么办.
当调用服务器端的任何方法时,一开始都会执行一个方法,
就如同ASP.NET中的HTTPMOUDLE一样的. 该如何做呢.
[/quote]
和这个实现差不多,也是实现IEndpointBehavior接口,和客户端不同的是在public void ApplyDispatchBehavior(ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher)
{
// 附加行为endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new AttachContextInspector());
}
[code=csharp]
private class AttachContextInspector : IDispatchMessageInspector
{
#region IDispatchMessageInspector Members
//在已接收入站消息后将消息调度到应发送到的操作之前调用。
public object AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, System.ServiceModel.IClientChannel channel, System.ServiceModel.InstanceContext instanceContext)
{
return null;
}
//在操作已返回后发送回复消息之前调用。
public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
{
}
#endregion
}
[/code]
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 12:00
@ruinet
谢谢.. 没注意到.. 哈哈. 原来它是放在客户端的.
想问一个问题: 如果我需要这样的一个功能,该怎么办.
当调用服务器端的任何方法时,一开始都会执行一个方法,
就如同ASP.NET中的HTTPMOUDLE一样的. 该如何做呢.
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 11:31
[quote]不若相忘于江湖:
楼主. 提个疑问:
1 客户端与服务器端共用引用一个程序集?
2 客户端:
AppContext.UserName = "ruinet";
AppContext.Password = "888888";
AppContext并不是数据契约,也不是消息契约, 它如何能从客户端
传到服务器端.
[/quote]
NO!
服务器端并不依赖AppContext
主要要看的是下面这段代码,是通过MessageHeader传递的。
OperationContext[code=csharp]
AppContext.UserName = "ruinet";
AppContext.Password = "888888";
public object BeforeSendRequest(ref System.ServiceModel.Channels.Message request, System.ServiceModel.IClientChannel channel)
{
MessageHeader<string> header = new MessageHeader<string>(AppContext.UserName);
request.Headers.Add(header.GetUntypedHeader("UserName", "http://ruinet.cnblogs.com/username"));
header = new MessageHeader<string>(AppContext.Password);
request.Headers.Add(header.GetUntypedHeader("Password", "http://ruinet.cnblogs.com/password"));
return null;
}
[/code]
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 11:24
[quote]不若相忘于江湖:
[quote]ruinet:
@liulun
第一次连接哪里来的session[/quote]
第一次从数据库中查, 以后的都采用SEESION.
[/quote]
不是所有binding支持session
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 10:33
楼主. 提个疑问:
1 客户端与服务器端共用引用一个程序集?
2 客户端:
AppContext.UserName = "ruinet";
AppContext.Password = "888888";
AppContext并不是数据契约,也不是消息契约, 它如何能从客户端
传到服务器端.
Re:WCF中使用扩展行为来验证连接的用户 不若相忘于江湖 2010-03-22 10:08
[quote]ruinet:
@liulun
第一次连接哪里来的session[/quote]
第一次从数据库中查, 以后的都采用SEESION.
Re:WCF中使用扩展行为来验证连接的用户 Artech 2010-03-22 09:42
[quote]liulun:
@Artech
也没什么绝对不允许吧
传递过程中不要传递明文就可以了
另外也增加了传递数据包的大小[/quote]
我不是在说密码传递的问题,这可以通过加密来解决。我是说这句代码:AppContext.Password。如果AppContext可以理解为一个全局上下文的话,意味着你将密码进行了缓存,这是不符合规范的。密码不能被缓存起来,能被缓存的只能是Security Token!
当然,如果AppContext不是我想的那样,另当别论!
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-22 09:29
@liulun
第一次连接哪里来的session
Re:WCF中使用扩展行为来验证连接的用户 liulun 2010-03-22 09:10
@ruinet
实际应用中,也没有什么需求要这样解决的吧?
把用户名密码传递到服务端之后要去数据库验证是否正确
这样的话,每次调用方法都要访问一次数据库。
....
不如做session来的方便
Re:WCF中使用扩展行为来验证连接的用户 liulun 2010-03-22 08:34
@Artech
也没什么绝对不允许吧
传递过程中不要传递明文就可以了
另外也增加了传递数据包的大小
Re:WCF中使用扩展行为来验证连接的用户 ruinet 2010-03-21 17:47
[quote]Artech:将Password放入Context是决定不允许的![/quote]
why?实际环境可能采用明码不太合适,但是放在上下文中传递没什么不妥。在网络中要认证就得要传递账户。
Re:WCF中使用扩展行为来验证连接的用户 Artech 2010-03-21 16:33
将Password放入Context是决定不允许的!
Re:WCF中使用扩展行为来验证连接的用户 xwy 2010-03-21 16:02
学习
想问一下大哥。PPC上怎么把快捷方式添加到桌面呢?也就是今日里边。在安装的时候能不能同时就添加到桌面了呢?
Re:简洁的Asp.net菜单控件 ruinet 2009-11-11 22:30
@十四
??
Re:简洁的Asp.net菜单控件 十四 2009-11-11 15:46
asp.net中的menu控件确实是用table和js做的,可以产生ajax类似的效果,但可以在其他浏览器中使用啊,我在火狐中测试过。。
Re:简洁的Asp.net菜单控件 十四 2009-11-11 14:05
所有的bs程序客户端都是向浏览器输出html标签来实现的么
Re:简洁的Asp.net菜单控件 ruinet 2009-11-11 09:44
@代维雅
跟frame没关系
Re:简洁的Asp.net菜单控件 代维雅 2009-11-11 08:58
可以跨frame吗?
Re:Windows Mobile无线打印的实现 yunxizfj 2009-11-04 15:30
@ruinet
直接操作蓝牙设备?是调用CE的API吗?有没有示例推荐下?
Re:Windows Mobile无线打印的实现 ruinet 2009-11-03 21:24
@yunxizfj
在CE下COM服务需自己开发,何不直接通过蓝牙发直接
Re:Windows Mobile无线打印的实现 yunxizfj 2009-11-03 15:45
楼主请教下:
我想用CE的PDA通过蓝牙连接含蓝牙模块的小票移动打印机,以前在MOBILE系统下做过,是通过系统蓝牙连接打印机后有个COM服务,只需要向COM口发送指令+数据即可。但是现在是在CE下,这个思路可行不?CE下怎么设置蓝牙连接后的COM服务?
硬件配置可能是:mc3000(带蓝牙的版本)+tscprinter
Re:Windows Mobile无线打印的实现 Jake Lin 2009-10-21 05:38
good , socket + command.
在UI中调用DeviceSoket
DeviceSocket=socket = new DeviceSocket();
多了一个等号,应该是:
DeviceSocket socket = new DeviceSocket();这样才对吧?
@henry_miracle
加个下载,不就是嘛。本文的实例是winform
Re:使用HTML,CSS快速导出数据到Excel henry_miracle 2009-10-19 10:53
Lz,例子是不是直接就把EXCEL 文件写到你指定的位置那里了。而没有想web 那样提示有打开,下载,取消那种的吗?
Re:使用HTML,CSS快速导出数据到Excel test123 2009-10-18 21:44
test