博文

ASP.NET 2.0 AJAX中Webservice调用方法示例(2007-02-25 12:20:00)

摘要:ASP.NET 2.0 AJAX中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX 版本为AJAX November CTP。 三个示例分别为:
1 带参数的WS方法
2 不带参数的WS方法
3 参数类型为DataTable的WS方法 一、WebMethod
注意要点:
1 WebMethod类需要添加命名空间 Microsoft.Web.Script.Services,此空间需要引用Microsoft.Web.Preview.dll
2 类声明加入标签 [ScriptService]
3 在Asp.net 2.0里可以直接用DataTable作为返回类型了,但是需要在Web.config文件添加序列化转换器的属性。DataSet、DataTable、DataRow均有转换器   <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization>
          <converters>
            <add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview"/>
            <add name="DataRowConverter" type......

阅读全文(3490) | 评论:1

ASP.NET随机码生成示例(2007-02-25 12:14:00)

摘要:现在很多网页登陆的时候都使用了随机图片的方式,是一种简单、有效的防止黑客恶意攻击的手段。今天看了一些网上的资料,明白其生成原理:从样本中,获取随机字符串,随机字符串保存进session,并以位图的方式形成随机码图片。 实现:
添加命名空间 using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
生成页代码 using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D; public partial class getRandImg : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //生成随机码图片
        SetValidateCode();
        //生成页面不保存到cache
        Respo......

阅读全文(3860) | 评论:1

如何增进垂直门户的web2.0特性   (2007-02-25 12:14:00)

摘要:现在几乎所有行业都有很多相应的垂直门户了。但很多都是基于web1.0的。好多网站给人的感觉总是乱糟糟的,进去之后让人无所适从。内容大多是供求信息,行业新闻,行业政策,论坛和叫人反感的广告位。现在的问题是,如何利用web2.0的特性,改善垂直门户,创造出用户切实需求的功能,以此产生网站黏性,最终达到吃掉现有垂直门户的目的。 1. 回复: 如何增进垂直门户的web2.0特性   是否利用web2.0的特性,这个要看个前提: 用户的接受能力! 现在的问题是,大多数人并不清楚什么是WEB2.0,此前,在坛子里看到某个会员写到: “我的侄子,今年17岁,2年的网络经历,他问我“web2.0是什么网络游戏”” 这个问题本身就值得人们咀嚼! 实际上,现在的很多web2.0都是在圈内热闹,用户并不明白,也不会操作!

2. 回复: 如何增进垂直门户的web2.0特性   另外,楼主说垂直门户的现象的确很普遍! 但是,成功的垂直门户在功能上往往是简单的,没有什么新概念!但是用户的黏性非常之好! 你看看中化网,上面的“花里呼哨”广告,每个都好几万以上,会员年费也是上万级别一年,但是用户依然趋之若骛! 这本身就很说明它是成功的! web2.0也好,web1.0也好,都是面对用户的!人们认可的就是你要做的,人们不明白的,你搞了,人们反而鄙视你,尽管你很潮流! 这种感觉就像常人看摇滚披头士!你不理解,但是它以为美!这就是现在: web2.0在市场上的真实处境!


3. 回复: 如何增进垂直门户的web2.0特性   定义web2.0适不适合你所运营的网站,就是一个标准,他是不是用户需要的。
那么增进垂直门户的web2.0特性也是同样的标准,用户立场想问题。
......

阅读全文(3484) | 评论:0

Web2.0网站的四大特性简述(2007-02-25 12:13:00)

摘要:大家对于Web2.0特性的看法,加上这几天的思考,整理我对于Web2.0到底是什么的看法,清理自己的思路。在我看来,Web2.0之所以区别于1.0,关键在于以下四个重要的特性:   可重用的微内容   微内容的英文是Microcontent,微内容来自于用户产生的各种数据,正如zheng所说的“比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要去的地方、新的朋友等等”。而我们在Web1.0中其实也产生不少微内容,比如在线相册、论坛发言等等,但Web2.0的一个重要特性就在于可重用的微内容,这使我们在任何地方都自由地使用这些微内容成为可能,从而可以聚合、管理、分享、迁移这些微内容,并可以进一步组合(remix and mashup)成各种个性化的丰富应用。微内容的可重用性就必然要求微内容的结构化(比如xml)、开放性(比如开放API)以及工具无关性(对于用户而言,可以使用多种工具来聚合和利用这些微内容,而不必局限于生成内容的原始网站),同时微内容的普及也必然导致的是非中心化(decentralization)。   以用户(人)为中心,而不是以物为中心   Web1.0中,网站关心的焦点是物,比如Amazon上的商品,Amazon对数据的处理是按照“买这本书的人还买了哪些书”,以商品为中心来组织数据,人是隐藏在背后的,没有得到呈现的。而Web2.0中是以用户为中心来组织数据,比如在豆瓣中记录你阅读了哪些书,哪些人和你阅读同一本书,虽然人依然是通过书这个载体而连接在一起,但人成为关心的焦点,与组织的中心。论坛与BBS虽然也是用户参与的,但为什么我们不将它作为Web2.0,一个因素就在于BBS也是以物(论题)为中心进行组织的,而不是以人为中心来组织数据(比如Blog)。   社会性   社会性特征是Web2.0服务所普遍具有的特征,这不仅仅指UUzone这类的社交网站,而且像douban、seehaha这些网站都包含社会性的元素,甚至Bloglines、Rojo这样的工具性服务都带有多少人订阅这个Feed、推荐Feed给好友等社会性的特征在其中。由于Web2.0以人为中心,人就必然会产生社会性的需求。社会性为网站带来更多的用户互动并产生丰富内容,使网站服务的使用价值与吸引力都大为增加。不过如果更有效地激活社会性,发挥更大效用,是个值得探讨......

阅读全文(2503) | 评论:0

webservice和remoting在分布式程序中的应用(2007-02-15 09:13:00)

摘要:webservice和remoting在分布式程序中的应用
1、.net remoting使用HttpChannel,可以和WebService一样使用Http协议的各种好处,比如传透防火墙,但WebService是一个跨平台的东东,Java和.Net可以互相提供和引用对方的WebService,.net remoting就限制于.net平台使用。我觉得.net remoting比web service在现阶段更具有实用性。
2、remoting是有状态的,是紧密耦合;web service是无状态的,是松散耦合;总的来说remoting适合局域网内,对性能和响应效率要求较高的场合;而web service适合跨网络,跨系统,对移植性和通用性要求较高的场合;remoting和web service严格的说都不是和J2EE的EJB对应的技术,如果一定要比较,那么部署在COM+/MTS的.net remoting组件可以和EJB对应。公允的说,目前DotNet在企业级应用上的结构还不完整。
3、
 
remoting在局域网上的表现绝对是大大强于web services,使用tcp管道不失真的传输数据,从而减轻了序列化和反序列化的工作,当然使用WEB服务的时候,一台计算机存储32位整数的方式与另一台计算机的存储方式是不同的,因此需要像XML这样易于理解的格式。web services 是IIS执行的,而REMOTING的扩展性强,使用HTTP信道和XML可以达到web services的技术的一部分,各有优势关键是对其底部的理解程度,仅仅会用等于没用
4、有个文章,忘了从哪找的了,请原作者原谅
  摘要:了解 Microsoft .NET Remoting 基础结构和 Microsoft ASP.NET Web 服务如何进行跨进程通信,了解这两种技术的工作原理以及如何为您的应用程序选择合适的技术。   
  目录
  概述
  序列化和元数据
  分布式应用程序设计:ASP.NET Web 服务和 .NET Remoting
  选择体系结构
  小结
 ......

阅读全文(5807) | 评论:0

异步服务器套接字示例(2007-02-09 11:31:00)

摘要:面的示例程序创建一个接收来自客户端的连接请求的服务器。该服务器是用异步套接字生成的,因此在等待来自客户端的连接时不挂起服务器应用程序的执行。该应用程序接收来自客户端的字符串,在控制台显示该字符串,然后将该字符串回显到客户端。来自客户端的字符串必须包含字符串“<EOF>”,以发出表示消息结尾的信号。 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; // State object for reading client data asynchronously public class StateObject { // Client socket. public Socket workSocket = null; // Size of receive buffer. public const int BufferSize = 1024; // Receive buffer. public byte[] buffer = new byte[BufferSize]; // Received data string. public StringBuilder sb = new StringBuilder(); } public class AsynchronousSocketListener { // Thread signal. public static ManualResetEvent allDone = new ManualResetEvent(false); public AsynchronousSocketListener() { } public static void StartListening() { // Data buffer for incoming data. byte[] bytes = new Byte[1024]; // Establish the loc......

阅读全文(3218) | 评论:0

同步客户端套接字示例 (2007-02-09 11:29:00)

摘要: 下面的示例程序创建一个连接到服务器的客户端。该客户端是用同步套接字生成的,因此挂起客户端应用程序的执行,直到服务器返回响应为止。该应用程序将字符串发送到服务器,然后在控制台显示该服务器返回的字符串。using System; using System.Net; using System.Net.Sockets; using System.Text; public class SynchronousSocketClient { public static void StartClient() { // Data buffer for incoming data. byte[] bytes = new byte[1024]; // Connect to a remote device. try { // Establish the remote endpoint for the socket. // This example uses port 11000 on the local computer. IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()) IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint remoteEP = new IPEndPoint(ipAddress,11000); // Create a TCP/IP socket. Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); // Connect the socket to the remote endpoint. Catch any errors. tr......

阅读全文(2444) | 评论:0

同步服务器套接字示例 (2007-02-09 11:28:00)

摘要:下面的示例程序创建一个接收来自客户端的连接请求的服务器。该服务器是用同步套接字生成的,因此在等待来自客户端的连接时挂起服务器应用程序的执行。该应用程序接收来自客户端的字符串,在控制台显示该字符串,然后将该字符串回显到客户端。来自客户端的字符串必须包含字符串“<EOF>”,以发出表示消息结尾的信号。using System; using System.Net; using System.Net.Sockets; using System.Text; public class SynchronousSocketListener { // Incoming data from the client. public static string data = null; public static void StartListening() { // Data buffer for incoming data. byte[] bytes = new Byte[1024]; // Establish the local endpoint for the socket. // Dns.GetHostName returns the name of the // host running the application. IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000); // Create a TCP/IP socket. Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); ......

阅读全文(2820) | 评论:0

Socket Visual 2005调试通过代码经典例子(2007-02-08 10:19:00)

摘要:using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Text;
using System.IO;
namespace SocketRun
{
    // State object for receiving data from remote device.
    public class StateObject
    {
        // Client socket.
        public Socket workSocket = null;
        // Size of receive buffer.
        public const int BufferSize = 256;
        // Receive buffer.
        public b......

阅读全文(3961) | 评论:0

请求解决?“由于目标机器积极拒绝,无法连接。”(2007-02-08 09:22:00)

摘要:我是要实现两个计算机通讯,访问过程中产生这样的错误提示:
“由于目标机器积极拒绝,无法连接。” socket编程小弟刚刚接触,很不懂,请执教! 代码:(别人的自己拿来练习)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Collections; namespace SocketSample
{
    public partial class SocketSample : Form
    {
        private NetworkStream networkStream;
        private StreamReader streamReader;
        private StreamWriter streamWriter;
        ArrayList sb;
        TcpClient myclient ;
        bool flag = false;         public SocketSample()
&......

阅读全文(39903) | 评论:8