Published by

Comments

# Don and Rob do the Blog! : Sam Gentile's Blog

Tuesday, February 25, 2003 10:41 AM by TrackBack
Don and Rob do the Blog! : Sam Gentile's Blog

# ASP.NET Forums : Sam Gentile's Blog

Tuesday, February 25, 2003 10:41 AM by TrackBack
ASP.NET Forums : Sam Gentile's Blog

# ASP.NET Forums : ScottW's ASP.NET WebLog

Tuesday, February 25, 2003 10:41 AM by TrackBack
ASP.NET Forums : ScottW's ASP.NET WebLog

# re: ASP.NET Forums

Wednesday, February 26, 2003 2:08 AM by Duncan Smart
"Unfortunately the search functionality of the forums is killing CPU utilization" - really? Do you use Full-Text Search?

# search engines and .aspx extension

Wednesday, February 26, 2003 10:45 AM by stefan demetz
sorry to bother you like this ...
since you are the asp.net "boss" I'd ask you whether you can solicit some of the search engines to take .aspx extensions seriously ....
many do not (yet) :(
surely MSN must like all us guys out there doing asp.net ....

Thanks
Stefan
stefandemetz@tiscali.it

# re: Getting to 0 bugs, Performance Tuning the Forums, and TechEd 2003

Friday, February 28, 2003 1:26 PM by Robert McLaws
So Rob, what is your current timeframe for Forums 1.5?

# re: Getting to 0 bugs, Performance Tuning the Forums, and TechEd 2003

Tuesday, March 04, 2003 6:12 PM by Rex
Sounds like fun Rob, I wish I was in your shoes, working on such cutting edge technologies! :)

# re: When good hardware goes bad

Thursday, April 10, 2003 11:49 PM by David P
Do you plan on making the source to your new search engine code available, and if so when? Thanks a lot.

cheers,

# Good Advice From Rob : ScottW's ASP.NET WebLog

Friday, April 11, 2003 12:20 AM by TrackBack
Good Advice From Rob : ScottW's ASP.NET WebLog

# About ASP.NET 1.1 : Christian Weyer: Web Services & .NET

Friday, April 11, 2003 12:20 AM by TrackBack
About ASP.NET 1.1 : Christian Weyer: Web Services & .NET

# re: Shipping ASP.NET 1.1

Monday, April 14, 2003 4:04 PM by Carson
Hey Rob - 1.5 looking very good indeed - any idea when you'll cut it loose on us?

# More caching goodness down the road : IDunno

Tuesday, April 22, 2003 6:23 PM by TrackBack
More caching goodness down the road : IDunno

# Not Your Father's Peer Review : ISerializable

Tuesday, April 22, 2003 6:23 PM by TrackBack
Not Your Father's Peer Review : ISerializable

# re: Bill Gates Review

Tuesday, April 22, 2003 9:03 PM by Jeff Julian
I really hate you. It has been a childhood dream of mine (since I was 12) to just meet Bill. I have never been able to see him is person, but I hope one of these days I will. I was probably the only 8th grader who read "The Road Ahead" during class.

# re: Bill Gates Review

Tuesday, April 22, 2003 9:57 PM by Marc LaFleur
Hmmm... I fear Jeff now. ;)

# re: Bill Gates Review

Tuesday, April 22, 2003 10:34 PM by Phil Scott
Bill is wise.
Bill is kind.
Bill is benevolent.
Bill, Be My Friend...Please!

# re: Bill Gates Review

Thursday, April 24, 2003 10:39 AM by Tobin Titus
You are living my dream. Not to meet Bill damnit! Just to be involved with the process such as yours. I too started a bit early. In 5th grade I was coding in BASIC on an Atari 800XL. I was playing Microprose' "F-15 Strike Eagle" game and decided I could do better. I told my parents I would one day work for Microsoft.

Flash forward last year. I got to work AT Microsoft on the ASP.NET support team in Charlotte. I just didn't work FOR Microsoft (I was contingent staff). Support was my hope to get in the door to something greater at Microsoft. I see that dream slipping away so count your blessings. I look up to you guys -- the ones that made it -- with awe.

Thanks for keeping us informed.

# re: Bill Gates Review

Sunday, April 27, 2003 2:02 AM by Mazen Alzogbi
I repeat what Tobin said; you are living my dream. I am, also, one of the early MS GW-BASIC developers. I've always wanted to work for Microsoft (Nah not local but HQ) and be one of the people who CREATE what other developers USE for their daily job (Just exactly as you, Rob, and others in the ASP.NET team doing and everytime I look at what you are producing guys I bow with respect. Keep up the good work and live our dreams, one day I might join you :)

PS: I would've never started with GW-BASIC if I knew that something as MC++ and C# would be created one day ;)

# Tablet PCs : Jesse Ezell Blog

Monday, April 28, 2003 10:09 AM by TrackBack
Tablet PCs : Jesse Ezell Blog

# heLP .Net Blog

Monday, April 28, 2003 10:09 AM by TrackBack
heLP .Net Blog

# Randy Holloway's Blog

Monday, April 28, 2003 10:09 AM by TrackBack
Randy Holloway's Blog

# BillG and Notetaking : Ted Leung on the air

Monday, April 28, 2003 10:09 AM by TrackBack
BillG and Notetaking : Ted Leung on the air

# re: Post BillG Review

Monday, April 28, 2003 11:18 AM by Marc LaFleur
Wow. Mr. Gates takes notes like I do. I use three sections (notes on what was said, notes on what I think about what was said, and questions).

# re: Post BillG Review

Monday, April 28, 2003 11:10 PM by HumanCompiler
Thanx for posting that, Rob! Very insiteful. Sounds like a lot of fun too! :D

I blogged a few weeks ago and mentioned that I've wondered why BillG isn't blogging yet? Sounds like a good idea to me! :P

# re: Post BillG Review

Tuesday, April 29, 2003 6:14 AM by steven
Yes, thanks Rob. Meetings with BillG and other executives happen every day all over the planet, but most people don't ever get a glimpse into them.

# re: Post BillG Review

Friday, May 02, 2003 12:06 AM by Tobin Titus
Marc LaFleur Posted @ 4/28/2003 10:18 AM
"Wow. Mr. Gates takes notes like I do. I use three sections (notes on what was said, notes on what I think about what was said, and questions). "

Was this in a book somewhere? I do the same thing. I use four sections as well and I can't remember where I learned it from.

# re: Post BillG Review

Tuesday, May 06, 2003 2:51 PM by jfiorini
That was a great post! Thanks Rob! It is always very interesting to hear about famous people in every day life.

# re: Post BillG Review

Thursday, May 08, 2003 1:35 PM by Paul Gielens
Sure BillG isn't using mind-mapping of his notes ;)

# re: Post BillG Review

Sunday, May 11, 2003 7:43 AM by Tim Scarfe
So much for Microsoft One Note ehh?!

# re: Post BillG Review

Sunday, May 11, 2003 2:34 PM by Sreedhar
It was quite interesting to read and I bit exited in knowing about BillG.

I am very much eager to read some more from you ;)

# re: Post BillG Review

Wednesday, May 14, 2003 3:46 AM by Mark Allanson
What happened to the tablet PC's for note taking? ;)

# Darrell Norton

Sunday, June 01, 2003 3:56 PM by TrackBack
Darrell Norton

# re: ASP.NET Developer's Cookbook

Sunday, June 01, 2003 7:07 PM by G. Andrew Duthie
As I mentioned to Steve, I'm looking forward to reading the book. And thanks for the nod. I'm pleased to be in such august company.

:-)

# .Avery Blog

Monday, June 02, 2003 11:10 AM by TrackBack
.Avery Blog

# re: Here we go again...

Monday, June 02, 2003 2:22 PM by ddysart
Awesome idea - no PPT. We need more people like you. I saw Dan Rogers do this in a UDDI demo at MTB years back - very effective and you got the point much faster.

Want to be even more impressive? Do what Dan did and code on the fl. Don't use the "I have a some code I'm going to paste in here" trick. You gain more credibility (which you don't need<g>) and a monkey can cut and paste code and hit F5.

# re: Here we go again...

Monday, June 02, 2003 5:16 PM by G. Andrew Duthie
Rob, I want a follow up on how your plan works out. I enjoy doing presentations, but I *loathe* putting together powerpoints, so if that works out, I may just have to try it some time.

I am so bummed that I'm missing out on all the fun with you guys, but OTOH, I do have the compensation of spending more time with Joseph, who's just started smiling in the last week or two. Wouldn't have wanted to miss that. :-)

Good luck with the presentation, and give everyone my best!

# re: ASP.NET Developer's Cookbook

Tuesday, June 03, 2003 7:03 PM by Norman Headlam
When will the book be available to the public?

# Post BillG Review

Sunday, June 08, 2003 8:21 AM by P. Kannan
seems BillG dosn't rely on his machines :O .. nice to here about BIG people

# re: 5:37 AM, er, 7:37 Dallas time --- ready to go!

Monday, June 09, 2003 12:23 AM by Randy Gregg
I saw your talk on the ASP.NET site and the practical dimensions at TechEd! It was exactly what I needed. I really appreciated the practical approach. I also really liked the concept of doing the slides in ASP.NET, but I have not found anywere where I can download the presentation. It was definitely worth reviewing with my technical team and programming team. Any chance you could send me a copy of the presentation?

Thanks again for taking the time to come to TechEd. You made a difference!

-Randy

# re: TechEd Slides, etc.

Thursday, June 26, 2003 10:55 AM by Jason Gaylord
Thanks for the slides Rob. Do you happen to know if anyone else posted information?

Jason

# re: Writing Projects

Wednesday, July 09, 2003 1:55 PM by Scott Mitchell
So.... what kind of stuff do you cover in there? There's not a synopsis at Amazon.com. Is there a sample chapter online? Can you share more information? When will it be in bookstores?

# re: Writing Projects

Wednesday, July 09, 2003 2:51 PM by Phil
Did you get my email re: caching resources?

# re: Writing Projects

Wednesday, July 09, 2003 4:36 PM by Steven Livingstone
Congratulation Rob. My guess is that the last few chapters were the hardest!?

Found a brief overview here
http://www.bookpool.com/.x/t6occqzunn/sm/073561900X
... but would like to hear more.

btw Rob, the link on your site (rob-howard.net) goes to your site rather than amazon.com. Of course that is assuming you aren't writing you own Amazon ;)

# re: Social Software

Tuesday, July 29, 2003 8:14 AM by John Mandia
Hi Rob,

A quick question. Would it be a lot of work to integrate with rainbow which is also based on IBUYSPY and is built in c#?

www.rainbowportal.net?

If there is something we could do on the rainbow side of things to make integration easier I am sure we could do it and I am sure people who use rainbow would appreciate it.

Many Thanks,

John

# re: Hate writing RegEx? Me too!

Thursday, July 31, 2003 3:14 PM by Eric Gunnerson
You should also look at my Regular Expression Workbench, available at http://www.csharp.net

# re: Hate writing RegEx? Me too!

Friday, August 01, 2003 10:48 AM by Kit George
Hey all, I'm interested to know what you don't like about them:

1) Is it working with the expressions themselves, or is it the class structure we expose that you dislike? If the latter, are there any specifics?

2) Is their functionality missing in managed regex support, that you think should be there?

Thanks,
Kit

# re: Hate writing RegEx? Me too!

Saturday, August 02, 2003 5:21 AM by Dave Wanta
btw, are there any regex tools out there where 1. You enter some text
2. tell it what text you would like to extract or match from text in [1].
3. Have the tool suggest a regex that will match it? This would give you a starting point for a regex, and allow you to tweak it.

thanks,
Dave

# xL8 - Grant Carpenter

Sunday, August 03, 2003 8:14 PM by TrackBack
xL8 - Grant Carpenter

# xL8 - Grant Carpenter

Sunday, August 03, 2003 8:14 PM by TrackBack
xL8 - Grant Carpenter

# re: Social Software

Wednesday, August 06, 2003 11:22 AM by Eric Newton
So, if it doesnt discuss ASP.Net 1.0 or 1.1, what does Rob Howard contribute to it?

hehe JUST KIDDING, I'm sure it'll be a good book.

# re: Hate writing RegEx? Me too!

Saturday, August 09, 2003 10:40 AM by Jason Carr
Hey, Dave Wanta wanted a tool for that stuff, which i made one awhile ago. you can get it on http://www.flacid.org/downloads/regexp-1.0.zip

it's pretty simple, you just type in a regular expression and value, and it will tell you if it matches or not. it does it while you type too, which is cool. i dunno if it's that cool, but give me some more suggestions for additional features or something! :)

jason@flacid.org

# re: 5:37 AM, er, 7:37 Dallas time --- ready to go!

Wednesday, August 20, 2003 8:46 AM by ihiohihih
ugkuhkjhjhjk klhklhlkhkl kjlkjkljklj

# re: Hate writing RegEx? Me too!

Friday, August 22, 2003 9:32 PM by hh
hhh

# re: Hate writing RegEx? Me too!

Friday, August 22, 2003 9:33 PM by gfdgfd
gfdgfdgfd

# "Growing" regular expressions

Wednesday, August 27, 2003 12:21 PM by Richard A Lowe
I've wanted to create a tool that
a) Takes in 1-oxo examples of text you want to match
b) Takes in 1-oxo examples of text you want to NOT match
c) You specify some fuzzy quantifyer of whether you want it to be more 'inclusive' or 'exclusive'.
d) The tool 'grows' some candidate regexs for you.

I guess I would actually try to create such a thing if I believed anyone would use it.

As an alternative, a regex Wizard could be a popular add-in for VS.NET if someone would see fit to create one...

Richard

# re: Hate writing RegEx? Me too!

Thursday, August 28, 2003 2:45 PM by Antonio Cangiano
I agree with you Rob!
I'm writing an article about RegEx, for a magazine, and I've done the same consideration.
Steve's giving us great resources but I want to suggest a useful software:
RegExDesigner (it's freeware)
http://www.sellsbrothers.com/tools/

Moreover I suggest 2 books:

-Mastering Regular Expressions, Second Edition
by Jeffrey, E. F. Friedl

-Visual Basic .NET Text Manipulation Handbook: String Handling and Regular Expressions, By Paul Wilton, Craig McQueen, FranC'ois Liger

Best Regards

# re: Writing Projects

Saturday, August 30, 2003 10:19 AM by Scott Cate
Has anyone got there hands on this book yet? Any feedback?

# re: ASP.NET Forums

Sunday, September 21, 2003 5:53 PM by John Kane
Rob,
Just a follow-up on the two posted feedbacks. Do you use Full-Text Search (FTS)? Indexing Service or SQL Server 2000 FTS?

I'd ask you whether you can solicit some of the search engines to take .aspx extensions seriously .... While I suspect that you cannot do this as much as I assume that you would like to, but the Win2003 Indexing Service uses the HTML IFIlter for .aspx files. The output of Filtreg.exe is ".aspx --> HTML filter (nlhtml.dll)". I can test this on Win2K, if you need this tested.
Regards,
John
email: jt_kane @ hotmail.com (remove spaces)


# Why? Why? Naze (Japanese)?

Monday, September 29, 2003 6:41 AM by Aaron Seet
I loved it the moment I started learning how to use regular expressions. It certainly beats looping through each character of your string to spot a certain condition!

Admittedly it's pretty difficult to learn and I'm far from mastering it but I can't do without its power now!

# re: Hear the buzz? That's PDC...

Thursday, October 09, 2003 2:04 PM by Robert McLaws
My trackback did not register yet...

http://weblogs.asp.net/rmclaws/posts/31295.aspx

# re: Social Software

Tuesday, October 14, 2003 5:33 PM by Rolly Ferolino
Can the forums still be deployed without DotNetNuke? I think a better idea is to work on a integration API so that other applications can loosely hook with the Forums.

# re: ASP.NET Forums

Tuesday, October 21, 2003 2:22 PM by pippo
ciao

# re: PDC: Monday 9:00 AM

Monday, October 27, 2003 11:17 AM by SpiderMan
Cool! Can't wait to see the Whidbey web site. I am not at the PDC now. :( Still hope to be a tester of the Whidbey.

# re: PDC: Monday 9:00 AM

Monday, October 27, 2003 11:38 AM by Scott Mitchell
Here's the view from San Diego: http://scottandjisun.com/saj/images/Fire20031027/

Smoke on the water, fire in the sky! :-)

# re: 11:38 AM ... here we go

Monday, October 27, 2003 1:13 PM by Scott Galloway
Good job Rob, like the book chapters!

# Re: PDC: 10:51 AM -- Preparation

Monday, October 27, 2003 1:15 PM by Jürgen Beck (Germany)
Great Site!!!

On Page "Preview of Web Development with Visual Studio Whidbey" are some pictures missing.

http://www.asp.net/whidbey/whitepapers/VSWhidbeyOverview.aspx?tabindex=0&tabid=1

# re: 11:38 AM ... here we go

Monday, October 27, 2003 2:00 PM by Adam
Looks like some of the images are pointing to localhost on the overview page (http://www.asp.net/whidbey/whitepapers/VSWhidbeyOverview.aspx?tabindex=0&tabid=1 like http://localhost/whidbey/images/IntellisenseScriptTag_lg.gif)

# re: 11:38 AM ... here we go

Monday, October 27, 2003 3:18 PM by G. Andrew Duthie
Way to go, Rob! 5 hours sitting on the tarmac yesterday, recovering from a cold, and you still get it launched on time. Congrats! :-)

# re: ASP.NET "Whidbey" Database Cache Invalidation

Monday, October 27, 2003 4:03 PM by Chris Martin
Excellent!!!

# re: ASP.NET "Whidbey" Database Cache Invalidation

Monday, October 27, 2003 6:01 PM by Ben Richardson
Wicked.

# ASP.NET Database Cache Invalidation

Monday, October 27, 2003 7:00 PM by TrackBack

# re: ASP.NET "Whidbey" Database Cache Invalidation

Tuesday, October 28, 2003 12:14 AM by Aaron
Would this be useful for caching at the business layer as well?

# ASP.NET

Saturday, November 01, 2003 3:49 PM by TrackBack

# re: Borland Developer's Conference

Monday, November 03, 2003 7:20 PM by Rob Rentz
Hey Rob -

Come to Pittsburgh! I'd love to attend.

Rob Rentz

# re: Borland Developer's Conference

Monday, November 03, 2003 10:36 PM by Karthik K
Any chance of running these developer conferences in India? i would love to attend

thanks

# re: Borland Developer's Conference

Tuesday, November 04, 2003 4:59 AM by Simon
Any chance of a few roadshows in the UK please?

# re: ASP.NET Roadshow kick-off

Wednesday, November 05, 2003 10:40 AM by Bill Evjen
Awesome! Can't wait for the roadshow to come to St. Louis in December!!!!

# re: ASP.NET Roadshow kick-off

Wednesday, November 05, 2003 10:47 AM by Brian Goldfarb
woohoo!!

# re: ASP.NET Roadshow kick-off

Wednesday, November 05, 2003 7:27 PM by Brian Desmond
See you in Chicago!

# re: ASP.NET "Whidbey" Provider Model

Friday, November 07, 2003 10:22 AM by Thomas Tomiczek
A NEAT feature, indeed. How smart, Rob, is the caching architecture ABOVE the provider? I know this is a bad topic (actually), I am just ooking forward, and there area ton of negatives with caching above the provider.

While I love the model, though, just to let you know, I consider the providers and managment to be absolutly sub par from what I have seen. I have my own standard system for this already (which I will implement as provider, naturally), and we handle things like TIME LIMITED memberships to groups - something I found more than needed for websites. Someone has acces to some areas for one year, I want it to be ONE YEAR straight. Caching would step onto my toes here :-)

# re: ASP.NET "Whidbey" Provider Model

Friday, November 07, 2003 10:27 AM by Rob Howard
You've actually touched on the very point of why we have providers. We don't know what all the specific needs/behaviors, etc. will be. We wanted to give developers something that they could extend (or replace) with their own behaviors. So when you say 'Membership in a group for a year' that's not a problem at all. You could simply derive from our default and override methods to enforce that behavior -- same thing, for example, with enforcing a certain password format, locking the account after a certain number of failed logins, etc. ;)

As for caching. We currently do not cache anything at the provider layer (I assume you mean caching the data). We will be looking to integrate the new database caching functionality with some of our providers where it makes sense. That way we could intelligently cache data accessed through the provider and invalidate the data when the data in the database changes -- again all behaviors that you can change though.

# re: ASP.NET "Whidbey" Provider Model

Friday, November 07, 2003 10:51 AM by Thomas Tomiczek
::You've actually touched on the very point of
::why we have providers.

I know :-) Heck, I can hardly wait to install the DVD's that are on the way (my old alphas made "not too well" during a move) and put a secondary website onto it.

Terrific job.

::As for caching. We currently do not cache
::anything at the provider layer

Well, I dont care about the prvider layer, but about the layer ABOVE it. In need you to call into the provider on EVERY page :-) Well, maybe :-) My current membership system is pretty "optimal" in this way - we go into the Authenticated event and reuse an existent principal object (if it is still there AND still valid), otherwise we hit the business layer (means at least once every 5 minutes). I would not like any caching that makes people go into pages for which their right did expire 5 seconds ago :-) Yes, crazy, I know :-)

# re: ASP.NET "Whidbey" Provider Model

Friday, November 07, 2003 11:04 AM by Scott Watermasysk
I have also implemented a set of providers in .Text. See http://scottwater.com/blog/posts/10579.aspx

-Scott

# re: ASP.NET "Whidbey" Provider Model

Monday, November 10, 2003 7:15 AM by colin mcdonald
Not sure if this is in ASP.NET "Whidbey", but it would be nice if the "add" node had an optional attribute called "url" that referenced the URL of the provider which resided remotely.

Then, if you're using a Factory to instantiate your providers, you could get either a local provider or remote provider.

We're doing something like this at our company and this gives the ability to seperate our logical layers into tiers quite easily. .NET remoting is a wonderful thing ;-)

# re: ASP.NET "Whidbey" Database Cache Invalidation

Monday, November 10, 2003 7:24 AM by Johan Danforth
Yay, that's just great! I've been using a bunch of more or less complicated ways to invalidate cached data, this will make things WAY easier for sure!

# re: Design trade-offs

Wednesday, November 12, 2003 9:35 AM by Steve
Rob, I think if placed in your shoes I would have made many of the same decisions. It is always a struggle balancing the complexity/simplicity of any design. While its nice to make it the most extendible, flexible thing in the world you (Mr. Developer not Rob Howard) run into the risk of making it too complex for the majority of users to use. I for one would love to see the most extensible/flexible design there for me to use, and perhaps have it hidden through a nice neat facade for the basic user who just wants to get it working, without worrying about the details.

# re: Design trade-offs

Wednesday, November 12, 2003 9:50 AM by Justin Burtch
2 Things:
I know it is only a partial fix but:
using Groups = System.Web.Security.Roles may help him a little with his naming issue. Secondly, I think it was Don Box who said that runtime swapping of components in a panacea. It can work well but in many cases but it is a slippery slope. I bring this up because it doesn't hurt my head to throw exceptions from methods in an interface depending on the provider. When my company writes software, we have a target environment (whether that means we use AD or SQL providers for our membership functionality depends on project and customer.) If we want to support both, it means extra testing and investigations of differences. In data access technologies, I've never expected to be able to swap Oracle for SQL Server for Access and have zero problems. Same goes with membership, security, etc. Thanks for the flexibility of choosing providers and try to keep their use as seamless as possible.

# re: Design trade-offs

Wednesday, November 12, 2003 10:07 AM by Michael
I agree with the slippery slope argument but I would still prefer to see interfaces broken up a little so that it is possible to test for support of a feature that is not universal. I guess its all a moot point now given that they've moved to an abstract class model, but I would hope that they have a property along the lines of "IsGetPasswordSupported". It seems just wrong to use exception handling to glen this info.

# re: Design trade-offs

Wednesday, November 12, 2003 10:08 AM by James Shaw
I couldn't agree more with you Rob. Beautiful OO design can be extremely hard for developers to use sometimes and can quickly turn into a maintenance nightmare.

# re: Design trade-offs

Wednesday, November 12, 2003 11:25 AM by Jesse Ezell
Follow up:
http://weblogs.asp.net/jezell/posts/37133.aspx

# re: Design trade-offs

Wednesday, November 12, 2003 1:13 PM by Amon
I must respectfully disagree with Rob's statement "it places emphasis on who builds the software not on who uses the software"; not just for argument's sake.

Since we're talking about frameworks and programming here, "using" the software shouldn't be an issue. Or did I miss the point?

Shouldn't MS be taking a "what do we need to provide developers with that allows them the most productivity and flexibility" so they will want to utilize the MS technologies?

If you had taken the more granular OO approach you mention, wouldn't you have still provided a default functionality using higher level classes? This would still allow us to extend/override the IUser, IEncryption, IValidateUser interfaces/classes?



# Getting on the Provider bandwagon

Thursday, November 13, 2003 12:08 PM by TrackBack

# re: Design trade-offs

Sunday, November 16, 2003 1:38 PM by Rick Strahl
One comment on this is: You can always build higher level less flexible APIs ontop of the more complex implementation and publish both but you can't do it the other way around.

While I'm a big proponent of keeping things simple, I think layering is almost always the best way to have your cake and be able to eat it too :-}...

# re: ASP.NET "Whidbey" Database Cache Invalidation

Monday, November 17, 2003 2:54 AM by M. Rajesh
Hi

I used this sample on windows 2003 Server and Alpha version of Web Developer. I used the cmd aspnet_sqldependencycache to set the cache on the table orders in the database northwind. but it says unable to set the cache. what could be the reason.

Regards

M. Rajesh

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 4:14 PM by Jeff Gonzalez
If you use parameterized queries instead of strictly ad-hoc sql statements, there is no performance benefit in using stored procedures, at least in Sql Server 2000.

Sql Server 2000 caches parameterized queries as well as stored procedures.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 4:18 PM by Brian Noyes
Bravo. Amen. Exactly the mantra I preach in my data access classes and every time I talk on data access. Great summary of the reasons. Glad to my same convictions re-affirmed by people who know a lot more than I do.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 4:32 PM by Mathew Nolton
too funny. i have seen nihs in action. if it isn't stored procedures it would be whether or not you put a curly brace following your for statement on the same line or directly beneath it.
-Mathew Nolton

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 5:33 PM by Andrew
Thanks Rob,
Nice post.
In regards to NIHS (pronouced like nice, but it isn't) : Not having invented a database, they should be using text files.


The truth doesn't change, it just gets expressed differently to different people at different times.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 5:34 PM by JosephCooney
I love stored procedures for all the reasons you list, and couldn't really imagine writing data-driven applications without them. Usually there are trade-offs when you choose one development technique over another, but as far I'm concerned when it comes to using stored procedures there is NO downside. Applications can be build more secuirely, are easier to maintain, and typically perform better.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 6:46 PM by peter
You are completely missing the point.

The main bottleneck in our industry is programmer productivity. When you built ASP.NET you were not thinking in having the best performant platform but the most powerful and easy to use. Developers are giving up performance for productivity. The CLR is about that.

Stored procedures are hard to debug, hard to deploy, unflexible (try building a parameterized query system with stored procedures), and bad for a lot of operations (try encrypting or doing string handling).

Granted, CLR stored procedures will make this easier, and it's a step in the right direction.

For security, the way to go in windows is COM+ with integrated security. It's the most secure way, there are not connection strings, etc.

By leading MS developers to use stored procs, you are leading them to Java, where the standard practice is not to use stored procedures, which is much easier. Of course you could lie to yourself and think that Java apps don't scale or don't perform, but even if that's true, it does not seem to have impact in Java adoption.

Is PHP scalable and performant? Do PHP users care?

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, November 17, 2003 7:11 PM by Rob Howard
Peter -

> not thinking in having the best performant platform
I'm obviously a little biased here <g> but ASP.NET is the best performing platform.

> hard to debug, hard to deploy, unflexible
Yes and much of this is being addressed in SQL Server 'Yukon' which allows you to run CLR code in the database. But just because something is diffcult is not an excuse, especially when the benefit outweighs the cost. For example, I hate going to the dentist - it usually hurts; takes up more time than I want to give up; and sometimes I have to pay money for all of this 'fun'! Does that mean I shouldn't go?

> bad for a lot of operations
Exactly. They weren't designed for encrypting or string handling. They are designed for working with data. Believe it or not they are exceptionally good at doing it too <g>. I think if you read through the entire post (or at least the last paragraph) this is exactly what I said.

> leading them to Java
Is this a quote from star wars? From anger comes fear, from fear comes... I'm still trying to parse this ;)

# are you not using stored procs

Monday, November 17, 2003 11:50 PM by TrackBack

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 2:25 AM by Frans Bouma
"There are also internal performance benefits to SQL Server for using stored procedures vs. ad-hoc SQL script. When stored procedures are used SQL Server can cache or pre-compile the ‘execution plan’ that it uses to execute the SQL vs. having to recalculate the execution plan on each request – would you recompile your business logic class on each request? "
This is bull. SQLServer does not precompile stored procedures. It keeps the execution plan for ad-hoc queries AND stored procedures in the cache, there is NO difference between the two. The only advantage a stored procedure CAN have in this regard is that a stored procedure has a solid signature, thus the execution plan is easier found in the cache. The execution plan for the ad-hoc query CAN take a slighter longer time to find back. If you don't believe me, check out the BOL of SqlServer ("Execution Plan Caching and Reuse".

The reason SQLServer does this is because the optimizer at runtime can now optimize the query based on statistics that are very recent.

It's always a good laugh to see people defend stored procedures for SqlServer and using the "they're precompiled" argument. They're not. And in a lot of situations, they're slower as well, simply because you have to code your stored procedure to handle optional arguments because the WHERE predicates in a SELECT query inside a stored proc have to be flexible: e.g. you have to be able to filter on 1, 2, 3, or maybe 4 fields and all combinations. Good luck defining those.

And no, that's not exceptional. That kind of queries are common.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 2:52 AM by Ian Ringrose
The problem with Stored Procedures is that they need rewriting for each database, most SQL statement can be written so that works on all important rdbms. As an ISV we have customers with both SQL server and Oracle, next week a sales person may sell our software to someone with DB2!

All of our programmers can cope with writing simple SQL statements, should we also make them learn TSQL and PLSQL, and whatever DB2 uses?

I have found that the speed up from Stored Procedures is not as great as then what I can get by spending the time doing a bit of performance work with ANTS (a very nice profiler) on the complete system. We DO have 2 Stored Procedures, as the profiling showed that Data Access was the bottle neck in that case, and we could not solve it by rewriting the SQL.

Now if you provided a TYPE SAFE, database in-depended way of calling store procedures, and a compilers that took my SQL and converted it into Stored Procedures I would be interested. But why not just provide “Imbedded” SQL that is processed by a pre-processor before the C# compiler, like SQL was done with ‘C’ before ODBC made everything so hard. The pre-processor’s could also be pointed at a database, so would give an error if I misspelled the name of a columns at COMPILE TYPE, in these “advanced” days, I do not get a error when a misspelled the name of a column or stored proc until RUN TIME, that is not very good…

If I was writing “in house” software then never needed to be sold to a customer, I would use stored procedures. Most software in the world is “in house” single company but not all.


Email: ringi at Bigfoot dot com

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 3:34 AM by Marc Hoeppner
I think this post has a good summary on how SQL Server 2000 really works. The main point is that parameterized queries are just the same as sprocs when it comes to speed as both are compiled on first use and the results are cached using a signature of the query.

http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&selm=OMSaLMBEBHA.1412%40tkmsftngp02

Your argument in the second paragraph of 3. Performance is only true if you really plan to issue several calls to SqlCommand when you really could use one. You can do anything a Sproc can do inside a single SqlCommand so there won't necessarily be any overhead due to the number of calls.

Until Yukon arrives for the broad public, Sprocs have severe problems with versioning and integration in the IDE. Also, deployment can be a nightmare. I agree with Peter that this comes down to reduced efficiency for a programmer which will in most cases outweight any real or perceived speed advantages/disadvantages. IMHO, the only real reason to use them is code-separation in n-tier developments, but even this is highly debatable.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 5:01 AM by Frans Bouma
"Well the SQL Server team here at Microsoft has some of the best minds in the industry making sure SQL Server has phenomenal performance and scalability - it would be a shame not to take advantage of all that effort, right?"
Yes, great suggestion, Rob :) ;) So why don't you use the hard work of those great minds by using their runtime optimizer which works with cached execution plans for every query executed, stored proc or ad-hoc. :) You simply use the stored proc route while they put so much work in the optimizer to make it work at runtime more efficient, thus not with pre-compiled code, but with optimized code which is constructed at runtime and cached in execution plans (and recompiled when necessary (i.e.: when recompilation is taken less time than looking up the cached execution plan). :)

Sorry, couldn't resist. :)

Rob, please note that you ruined a lot of hard work for a lot of developers: now still a lot of people think stored procedures are the only alternative and will KEEP ON demanding everything that access tables (or views! how about views :) ) is written in stored procedures because someone from MS said so, even using false arguments.

Keep that in mind next time, thanks.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 5:10 AM by Thomas Tomiczek
Sorry, Rob - this whole post is so terribly bad that I am sorry for anyone who ever follows it. I strongly suggest you read the comments here and Frans excellent blog post going into great detail about all your points.

NONE of them holds against an examination of facts.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 6:15 AM by Wallym
Frans & Thomas, in my opinion, you are incorrect. Rob makes a lot of good points and my experiences cause my to side with Rob.

Wally

# re: New Addison-Wesley books

Tuesday, November 18, 2003 6:16 AM by Jim Martin
Nice, I love books! Just wish I could find a good book on Data Structures. Got any recommendations? PS Great job at the Dallas Road Show. I'm the one that responded to your question "how much code does this take in .Net Whidbey?" with "the same amount just MS writes it all for you now" :-) Hope the road show is going well!

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 6:29 AM by Thomas Tomiczek
::Frans & Thomas, in my opinion, you are
::incorrect.

While you are entitled to your opinion, Ivalue it with the arguments you give: zero. Frans put up a lot of good arguments - do you ahve any to counter them?

::Rob makes a lot of good points and my
::experiences cause my to side with Rob.

Rob makes a lot of INVALID points. Like the whole caching thing. It is technically incorrect.

One can argue about architecture etc., but one can not argue with arguments that are simply wrong even according to the documentation.

Do you live in your own world, where your own SQL Server does not behave like everyone else'? Because otherwise, at least SOME arguments are just wrong.

And for the rest, I suggest strongly you broaden your experience. I know people saving a LOT of time with a better architecture just because they do NOT use SP's. Arguments on Frans' blog.

I find Rob's points - with all the respect I have for this guy in the ASP.NET area - very wrong. If I would ever find some SQL specialist work with following some of his arguments (like the caching one) I would make sure he leaves the company immediatly, as he does not know his profduct.

Dont get me wrong - I am not saying SP's are useless, far from this. There is a lot of functionality that sometimes greatly benefits form SP's.

But sadl, 99% of the database operations are just not well served with SP's, and they make a terrible architecture. Even with YUKON.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 6:35 AM by Paul Wilson
I too was deeply entrenched into the world of stored procedures, with exactly these same arguments as my rationale for it being the correct way. I was shocked when I started to learn that these arguments were simply not actually true, and I too did not want to believe I had been misled. I finally started testing some of this for myself, using O/R mappers like Thomas' EntityBroker and others, and reading some of the other side's stuff too. Now I still use stored procs at work, because I'm not up to fighting this battle yet, but that will change when ObjectSpaces comes out with Whidbey! Down with stored procedures -- long live SQL!

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 7:10 AM by Thomas Tomiczek
Well said, Paul.

This is poropably how SP's are used in a LOT of cases, and then using a SP is nearly a crime - the price paid in terms of development time is significant. Extremely high.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 7:30 AM by Frans Bouma
Wallym: I know you are using Oracle, for Oracle the world looks different: Oracle has a strong procedure environment, where prodecures are pre-compilable. (other databases like DB2 do that as well: the compile the proc to C and compile that to native code) and Oracle's runtime optimizer isn't that great compared to SqlServer's. Rob's post was however targeting SqlServer, and you should see it all in that perspective as well.

A year back I would be all on your side Wallym :) However I learned the hard way. Others should avoid that misery and learn the right way: by collecting information and take the right decision. I think both sides are discussed in full now, others brought up good points as well and I sometimes write a stored proc here and there (f.e. a sequence emulating sproc in sqlserver), but this is rare.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, November 18, 2003 9:26 AM by Marc Hoeppner
>That’s 172,800 database connections and network IO usages that you no longer require!

Two points: first, your amendements to the sample are still not convincing, IMHO. If you can do it in an SPROC, you can do it in a single multi-statement SQL command as well. So, using T-SQL inside the code does _not_ mean more connections per se!!

Second, I think the question is not if there are any (specific, special) examples when it is wise/a good idea/necessary(?) to use a SPROC instead of a parameterized query. The question is if your general idea of using SPROCs always and everywhere is really a good one. And I still don't think so :)

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 10:13 AM by Thomas Tomiczek
::I expected to get some feedback from Thona
::<g> - who I am looking forward to eventually
::meeting some day

Did you not email me once you come to Germany soon? When can I expect you? Otherwise - well, we can spend some time at the next MVP Summit. Someone decided I am allowed another year as MVP, so I will come.

::personally looking forward to replacing my
::stored procedures with CLR code in SQL
::Server 'Yukon'.

Personally I am looking forward to move part of my O/R mapper INTO yukon - something the ObjectSpaces people seem to simply ignore as a possibility.

::When viewing posts does it make sense to
::retrieve all 472K posts and then throw away
::all but the current 25 that you are viewing?

Not at all. Dynamic SQL does not mean you are stupid enough to fetch all - you still can put conditions into the dynamic SQL query, you know :-)

::If you think ad-hoc SQL is a better solution
::for this and to then filter the data in your
::DAL/BAL ... please email me I've got some
::spectacular beach property in Montana that
::I'd like to sell you ;)

Why do you go so extreme?

I would say that basically dynamic SQL is a much better approach, but you would STILL filter at the database.






# Stored Procedures and you

Tuesday, November 18, 2003 10:14 AM by TrackBack

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 10:16 AM by Paschall
As you say Rob, it's a question of balance. I have exactly an opposite case on a project where I have to do a CRUD for a Census type of form. Huge number of questions, and I started with Dynamic SQL. What a mistake ! Slow, slow, slow. So I rewrite everything with an SP, sending the big data block to SQL using a User Function to split the data(no split function by default in SQL :-(), and yes it was the right choice. Much faster, giving back instantly the hand to the user, letting SQL working in the back end. In this debate, I didn't see about Transactions. Because I use this a lot in my SP, and yes batch processing are very fast. What's about Transactions and dynamic queries ? some info on this, performance for example?

# Stored Procedures or not?

Tuesday, November 18, 2003 10:20 AM by TrackBack

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 10:52 AM by Frans Bouma
The question about paging is an interesting one. I bounce it back with a simple remark: Oracle has something as silly as 'rownum', which can be used in a select procedure to retrieve row n till n+m using rownum.

SqlServer doesn't have that. You therefore have to jump through hoops to retrieve pages. ALL solutions require executing the complete query at every page, plus you can't get row 100 till 150 for example: you have to select it into a temptable or use knowledge about a PK value which is increasing.

This isn't a burden per se though. Most paging issues can be solved on the client, and most amount of pages is not that high. There are extreme cases where this is different, and in those cases perhaps a temptable using sproc is helping out. Ok, that's 1 sproc per app :)

Thanks for the reply, Rob. :)

FB, who wrote 1 SP in the last 6 months: an oracle sequence emulator for sqlserver.

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 10:56 AM by Frans Bouma
Paschall: ADO.NET transactions are implemented on the connection object. If you do a trace on SqlConnection's methods, you'll see it executes a BEGIN TRAN statement when you create a transaction object using a connection. I don't think there is much of a difference there.

In ADO this was different, since ADO supported nested transactions, ADO.NET's SQLServer client doesn't , because SQLServer doesn't (T-SQL doesn't support nested transactions: you can't roll back a subtransaction inside a transaction. You can use savepoints to emulate this a bit... Savepoints can be created in ADO.NET too.)

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 10:57 AM by Rob Howard
> have to select it into a temptable
Yup, but in this case if you can use a covered query. This is still pretty fast.

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 12:17 PM by M. Keith Warren
I may have missed this in a previous post but I will state it anyway...The majority of devs dont use SPs for simple one off DML statements. One of the great values can be found when subsequent biz logic needs to be encapsulated around updates of a certain type.

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 12:33 PM by Douglas Reilly
Re: "Oracle has something as silly as 'rownum', which can be used in a select procedure to retrieve row n till n+m using rownum. "

This is addressed in changes in Transact SQL for Yukon (RANK and DENSE_RANK, as I recall). This was covered in a talk at PDC (yes, I know Yukin is still a ways off from production environments...).

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 12:58 PM by Paschal
Well Frans I still think SP are great for some tasks and also for the flexibility of changing them quickly in SQL.
Don't kill me Frans ;-), I also use Dynamic Queries.
I am not really agree about transactions, they are IMHO faster with SP.
What I like with SP as I said is that when a project is finish, and I talk about web projects, I can still add a new field in my databse, and after modify my procdures, ading the new field where I need it and hop, it works.
If I code my sql statements, I will have to recompile and deploy my codee again to my production servers, thing I find a bit silly, but as I said this is my honest opinion.

# re: Software Development Diseases <humor>

Tuesday, November 18, 2003 1:09 PM by Phil Scott
I run across a lot of I.C.E.D.I.I. in my VB.NET or C# classes. "I could easily do it in [c++, java, php, cobol, and even once assembly]"

This tends to be found in individuals whose company decides that they need to start porting systems to .NET, and fear and uncertainty kicks in big time. Lot's of F.U.D. and N.I.H.S. combined.

# re: Software Development Diseases <humor>

Tuesday, November 18, 2003 1:42 PM by Scott Watermasysk
A.D.T. "Already Did That". Its very common to hear ex-coders (read: new exec's) say, I used to have code to do this in C/VB. Usually goes along with, wow, the BCL just made my 2000 lines of code obsolete.

H.I.K "Hardware is King". Don't worry about perf improvments on the new application. All we really need is a better server. The X.x ghz quad Xeon's are really obsolete now anyway.

...I will stop now :-)

# ASP.NET dynamic SQL vs. stored procedures - what's right?

Tuesday, November 18, 2003 1:58 PM by TrackBack

# re: Software Development Diseases <humor>

Tuesday, November 18, 2003 2:32 PM by John Bristowe
My favorite is one that is frequently heard in the bowels of Tech Support: PEBKAC = Problem Exists Between Keyboard and Chair.

See the following URL for more information: http://www.pebkac.net/.

# re: Last post on the topic -- at least for now!

Tuesday, November 18, 2003 3:37 PM by Thomas Wagner
Rob - I've practically grown up with the mantra outlined in your original post. It goes all the way back to the client/server days of VB4 :) So I understand. But perhaps I didn't make my point strongly enough. A result of this mantra has been many many projects that rely on SP's to the exclusion of other techniques. Anyway, I believe I did mention that the test proc is small in comparison to other sp's I've seen in production that use both techniques described. In the end I think I would follow Frans' lead to solve this particular issue.

# Does an OR Mapper need to use dynamic sql?

Tuesday, November 18, 2003 3:46 PM by TrackBack

# paging = dough ?

Tuesday, November 18, 2003 5:16 PM by Aemca
Seems to me this is more of a client side thing :)

in ASP, the SP wasn't the way to go at least according to:

http://www.adopenstatic.com/experiments/recordsetpaging.asp

# Dynamisk SQL eller SP?

Tuesday, November 18, 2003 5:20 PM by TrackBack
I det seneste d

# re: Continued...

Tuesday, November 18, 2003 6:24 PM by Andrew
The truth doesn't change, it just gets expressed differently to different people at different times.

# Stored Procedures vs. Dynamic SQL

Tuesday, November 18, 2003 8:19 PM by TrackBack

# Stored Procedures vs. Dynamic SQL

Tuesday, November 18, 2003 8:43 PM by TrackBack

# re: Continued...

Wednesday, November 19, 2003 12:07 AM by Mark Pitman
"Both stored procedures and ad-hoc SQL can address security issues in a similar manner. If you are using ad-hoc SQL, use parameterized statements. Neither has specifc security advantages, although setting permissions only on stored procedures can be easier than individually setting permissions on a resource-by-resource basis."

One thing that a stored procedure has over ad-hoc sql for security is access to specific records in a table. As far as I know, there is no way for SQL server to enforce business logic security on specific records. So, let's say I have a table that contains performance review information. If a user has select access on a that table, they can get to all of the records in that table if they have query analyzer (or even Excel!). If they do not have select access on that table, but only execute access on a stored procedure that takes credentials as a parameter, they can only access the records that they are supposed to.

# re: Continued...

Wednesday, November 19, 2003 2:23 AM by Frans Bouma
" You negelet to mention is that subsequent uses of the stored procedure will use that plan and not compile. "
What I was trying to correct was the myth that a stored proc is compiled AND the result of that compile is stored in the systables. I believed that for years until I read BOL's articles about that topic. When a proc is created and compiled and that compiled result is stored in the cache is not that important, a production system is not a developer system and a plan is removed from the cache occasionally (see BOL for details on that), plus the dyn. query's plan is cached the first time as well, and kept in the cache until it is moved out for reasons explained in the BOL. So once the proc's plan AND the dyn. query's plan are in the cache, they're both as fast, because all that's done is a plan is taken, parameters are filled in and the plan is re-executed. Dyn. sql matches that speed of the proc.

There are some misinterpretations sneaked into the conversation perhaps: when I talk about a dyn. query I ALWAYS talk about a parametrized query executed using the SqlClient .NET provider. This makes sure sp_executeSQL is used and a plan IS cached, always. queries with values baked into them are not that cacheable for obvious reasons, let's not confuse the two :)

" In OLTP systems or large data warehouse systems dyanmic SQL is 'not even close' and SPs are the way to go."
Why? Dyn. queries contain the same SQL as the proc does. Why are they slower and 'not even close' ? I admit, calling an action stored proc which does a lot of maintenance behind the scenes is sometimes nice to have, but keep in mind that when a connection is open, the statements batched together and send to the server as dyn. queries can do that management too, without slowdowns most of the time due ot the plan caching.

Your example of adding a post to the forum is nice, but I don't see why I should use sprocs for that per se. After all: if I do that using dyn. queries, I use a transaction of ADO.NET, which is nothing more than a BEGIN TRAN execution on the connection, all statements executed on the connection are running inside that transaction, same thing. WHy would it be more resourceintensive? Because of the external transaction management? I don't think so, Sqlserver does the transaction management per connection anyway: there are no nested connections possible.

"If the ad-hoc sql is a parameterized statement, then the perf will generally be similar. Otherwise the folks are incorrect - especially if the statement does anything complex such as a join, a sub-query, or anything interesting in the where clause AND the statement happens more than once."
True, that's why I said: use parameters. :)

While I think it's more than just personal preferences, I can live with the conclusions you mention. :) My point was to enlight another option in the choice what to choose: ad-hoc string contatenation with values vs. stored procedures, and why. I get a lot of questions of people why I don't use sprocs in my O/R mapper because they have to or want to. Most of the time, it turns out they don't know about dyn. created queries with parameters and the benefits of them (or better: that they do not suck as some myths say). It's good that developers out there know all the options they have and what the real pro/con's are of these options so they can make the right choice.

# re: Continued...

Wednesday, November 19, 2003 2:26 AM by Frans Bouma
Oh, I forgot: about the 2 roles I mentioned :) That was an example of a typical webapp. When you follow MS' security guidelines for a webapplication/webserver and you use a separate SQLServer, you can't use domain security (IIS shouldn't run on a server in a domain) so you can only use sqlserver security. MOst of the time, 1 user is used to connect to the database (or a very few, since each user requires a different connection string). This implies not a lot of roles.

In an intranetapp / winforms app with NT security this is of course a different story.

(And I didn't know you were part of rolebased security group for whidbey, really :))

# re: Continued...

Wednesday, November 19, 2003 2:29 AM by Frans Bouma
Mark: define a view on that table, filtering out the rows (or columns).

Views are there for this purpose. (and others, but this purpose is a big plus for views).

Views are not widely used, which is a shame, because views are great and can narrow down the complexity of a query (which will still be complex when the view's code is placed into the query, which is done at runtime (sqlserver).)

# re: Continued...

Wednesday, November 19, 2003 3:59 AM by Crazy Chess Player
What about user defined function which return tables (sql 2000).
Should we use it Frans,
or we should buy your LLBLGEN Pro.



# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Wednesday, November 19, 2003 7:28 AM by Jarrod Moore
What do those of you advocating using ad hoc SQL do in a situation where you are faced with needing to reuse an existing SQL query? Right now in the world of stored procedures, I may have one SP that gets called by three other SPs. If I ever need to change what that one SP that's called by the others does, then I just need to go to one place.

In the ad hoc world, it seems that there are two options.

1) Make multiple calls to the database(not so good).

2) Write the necessary query code in each of the three pieces of ad hoc code(very bad, I can easily see someone not knowing or forgetting about another block of code).

How do you deal with security? Do those of you using this approach limit permissions for a logon on a per table/column basis? This seems to be overly tedious to me, and not entirely secure. With a SP I'm assigning authorization to a particular process.

An example of this might be if you had an application where a client could bring back a list of their customers.

Using SPs, I can implement a procedure that takes in @ClientID, and only returns customers for that one client, and then in turn only grant access to that stored procedure to users logged in with the Client logon.

With the ad hoc approach, I would have to grant SELECT permissions on a table to the Client logon. Which means that if a query is written in which the @ClientID parameter is left out, that client will now get a dump of the entire customers table. Or what if customers are also allowed to login to the system? The Customer logon will now most likely need SELECT permissions to the customers table, since they would need to see their profile or some such. What if a bit of logic is implemented wrong, and the customer now all of a sudden can get a dump of the customers table?

It seems like the above situation is much less likely to happen with a SP, as a developer would have to explicitly go in, and grant permission to the existing customers retrieval procedure, or would have to create a completely new one, and then grant those permissions.

How do you handle moving your code to another platform? I realize most people here develope only with the .Net platform, but what happens when you need to take your code to another platform that does not support .Net, but you still need to access the database? You now have two codebases across which to maintain your queries, regardless of what you try to do. You can no longer modify you ad hoc query in your one data layer as you could do with one central stored procedure.

What about UDFs? Since those advocating ad hoc are against SPs, are you also against UDFs? If so how do you get around using them?

We frequently use UDFs in our SP statements, whether it be for determining column values for a query, or for being used as a table. I can honestly say that without them, life would be *much* more complicated.

I suppose I come across as being quite SP-centric, but that's probably because I am. I currently maintain a database with 900+ SPs, and about 300 UDFs, and am quite fond of both of them. But I am definitely interested to hear what advocates of the ad hoc approach have to say, because what has been said so far has piqued my interest, and I don't have a problem with changing if there are truly ways around all of the above listed issues.

Steve

# re: Software Development Maladies (humor)

Wednesday, November 19, 2003 7:53 AM by Luke Hutteman
A.P.A.T.T. (All Patterns, All The Time) A serious condition that oftentimes proves terminal for many projects. It is characterized by the superfluous use of Design Patterns like factories, proxies, facades etc. where a much simpler approach would have worked just as well. A.P.A.T.T. is oftentimes justified by a need for extensibility, but typically results in code-bloat and unmaintainability by anyone but its original author. Known cures are YAGNI, KISS and Agile Processes like XP.

# re: Continued...

Wednesday, November 19, 2003 8:28 AM by Mark Pitman
"define a view on that table, filtering out the rows (or columns)."

Wouldn't I have to create a view for each user of the system? That doesn't sound like such a good option.

# re: Continued...

Wednesday, November 19, 2003 9:06 AM by Thomas Tomiczek
::Wouldn't I have to create a view for each
::user of the system?

What with a SP?

Wouldn't that mean a SP for every user of the system?

If your answer is no here, then basically - to the same thing you do in the one SP i nthe logic of the view.

# re: Continued...

Wednesday, November 19, 2003 9:07 AM by Frans Bouma
"Wouldn't I have to create a view for each user of the system? That doesn't sound like such a good option."
And with a single stored procedure you would be able to do that? You would not, unless you would accept some sort of 'UserId' input parameter, so you can base your filtered rows on that userid (or rights based on that user id).

When you do that, the whole security point is moot, because anyone with QueryAnalyzer can execute that proc with any given userid.

# re: Continued...

Wednesday, November 19, 2003 10:16 AM by Mark Pitman
"because anyone with QueryAnalyzer can execute that proc with any given userid"

In my original post I said "...execute access on a stored procedure that takes credentials as a parameter...". By "credentials" I mean you would have to pass something in to the proc to prove who you are, not just a userid. Whether that is the userid and password, passing in some sort of temporary token based on the user being authenticated by some other method, or something else.

I am NOT saying that everyone should use stored procedures everywhere, all I am pointing out is one example of where I think a stored procedure would be a better solution. If you aren't worried about someone with query analyzer looking at data, then it doesn't matter.

# Stored Procs or Dymanic SQL

Wednesday, November 19, 2003 2:06 PM by TrackBack
So yesterday a debate surfaced that seemed to have the entire online programming community all worked up. Rob Howard, Microsoft ASP.NET Program Manager, posted to his blog about using stored procedures in SQL server. Many comments both for and against Rob's arguments in his post ensued. Things got a little heated when Frans Bouma stepped into the debate. Frans took his ideas to his own blog, and then you see the entire blogging community step in (via their own respective blogs) to add their own take on things. What a day.

# Stored Procs or Dymanic SQL

Wednesday, November 19, 2003 2:06 PM by TrackBack
So yesterday a debate surfaced that seemed to have the entire online programming community all worked up. Rob Howard, Microsoft ASP.NET Program Manager, posted to his blog about using stored procedures in SQL server. Many comments both for and against Rob's arguments in his post ensued. Things got a little heated when Frans Bouma stepped into the debate. Frans took his ideas to his own blog, and then you see the entire blogging community step in (via their own respective blogs) to add their own take on things. What a day.

# Stored Procs or Dymanic SQL

Wednesday, November 19, 2003 2:06 PM by TrackBack
So yesterday a debate surfaced that seemed to have the entire online programming community all worked up. Rob Howard, Microsoft ASP.NET Program Manager, posted to his blog about using stored procedures in SQL server. Many comments both for and against Rob's arguments in his post ensued. Things got a little heated when Frans Bouma stepped into the debate. Frans took his ideas to his own blog, and then you see the entire blogging community step in (via their own respective blogs) to add their own take on things. What a day.

# Good blog drama

Wednesday, November 19, 2003 6:28 PM by TrackBack

# re: Continued...

Wednesday, November 19, 2003 9:56 PM by Curious Proc Guy
Just a quick question, say you had a large table, and you wrote a proc that took an employee id and pwd and the row id to delete from the table. The proc checks if you have access to delete the row, then deletes it. How do we do that with dynamic sql and not give the user access to delete any row he wants, without creating a view for every user?

# re: Continued...

Thursday, November 20, 2003 12:05 AM by Thomas Tomiczek
::How do we do that with dynamic sql and not
::give the user access to delete any row he
::wants, without creating a view for every
::user?

This is called object oriented programming.

The user never issues the SQL, but mnanipulates objects. The object would realize the call is not authorized.

Next step, security wise, us introducing a server for the objects.

And then you talk about a system like an O/R mapper such as our EntityBroker, but one with a client/server version (such as the EntityBroker 2004)

# re: Continued...

Thursday, November 20, 2003 7:12 AM by Philip Rieck
While I'll not take a direct stance on sp vs. dynamic sql (wishy-washy, I know), I do want to mention my favorite pro-stored proc tidbit here.

Where I'm at we have a SQL DBA team. It's their job to be experts at things like performance (and security, but I'll just mention performance benefits here). If I use dynamic sql in my code, they'll try to make sure the database is well tuned and performant, and give some feedback on what to change based on what I tell them I'm trying to do. (If I'm using a dynamic sql generation engine, hopefully I can modify it so that it will allow for these special case tunings.)

If I use a stored procedure, they can do more. They can analyse the input, effects, and output of the procedure when they detect a problem (without my input if need be), then rewrite the stored proc to do the same thing, only faster. They can even modify tables / views it relies on, and keep the output of the sprocs constant... my application never knows.

You can't beat the performance given to you by a great DBA hand-tuning your most-used procs. If you think dynamic sql generation engines can, then I'll take that challange. (well, I'll try to find a great DBA willing to take that challange. Most likely, they will just laugh)

In some (most?) organizations, you may not have this. However if you DO have a good DBA team - use them!

# re: Continued...

Friday, November 21, 2003 12:02 AM by Jon Galloway
Very much agree with Philip's post - you can't tune dynamic SQL without a recompile. The problem is that things don't slow down until everyone's forgotten about the code, or even moved to a different development platform. If you're using SP's, your database access can be tuned independently of the code. I've been through this - a development team I was on had to crack open an old powerbuilder app because the embedded SQL was generally inefficient.

Developers often think about their the database as a consumer instead of as a client - the app is fast enough, so everything may be fine. We get focused on our immediate problem or project, and don't think long term. Of course dynamic SQL is easier, but it's rarely as maintainable.

Two more SP benefits:
1) Common code - just as object oriented design strives to eliminate code duplication, using SP's for DB access provides common database access routines for the entire company. Fewer lines of code means easier maintenance.

2) Easier dependency analysis - I ran into this a week ago. We were looking at a table and wondering what would change if we altered a datatype. If we knew only SP's were hitting it, we could easily determine dependencies right in SQL Enterprise Mgr. But then we remembered that some apps use dynamic SQL and that went out the window...

# re: Help build ASP.NET "Whidbey" Providers

Friday, November 21, 2003 3:02 PM by David
This is cool! You guys DO learn something from the open source community, namely that it is great to invovle us. Just one question: What license will you use for the code that people will contribute to that project? GPL? ;)

# re: Help build ASP.NET "Whidbey" Providers

Friday, November 21, 2003 3:22 PM by Rob Howard
We'll likely use the 'Shared Source' license that is similar to the license used for the starter kits and the forums.

# re: Continued...

Saturday, November 22, 2003 5:30 AM by Thomas Tomiczek
::If I use a stored procedure, they can do
::more. They can analyse the input, effects,
::and output of the procedure when they detect
::a problem (without my input if need be),
::then rewrite the stored proc to do the same
::thing, only faster

They can NOT. In the vast majority of situations the SP will do very linear things. At least when you follow common practices on programming your business logic into a business layer, not into the database.

On a simple "Insert", "Delete", "Select" there is just that much a dba can optimize.

On a complex SELECT, there is yet again only so much a dba can do - unless the SQL is totally stupid, and this is a generator error.

Mostly the only thing DBA's can really do to boost performance in this environment is: selecting indices.

And this is totally orthogonal to the SQL.

Naturally, for Oracle people this is different, due to Oracle's well known "deficits" in the area of SQL.

# re: Software Development Maladies (humor)

Sunday, November 23, 2003 10:10 PM by TIMTOWTDI
I think if everyone could remember this there would be less pointless arguments about which is the "one true way". I keep telling people that they are allowed to make mistakes and just "suck it and see".

# Does an OR Mapper need to use dynamic sql?

Monday, November 24, 2003 3:20 AM by TrackBack

# Does an OR Mapper need to use dynamic sql?

Monday, November 24, 2003 3:20 AM by TrackBack

# re: Help build ASP.NET "Whidbey" Providers

Monday, November 24, 2003 10:05 AM by Brian Nantz
I really like the approach MS is taking with .Net. Everyone seems to be much more open than in the past. I do however have some concern about basing a product around a provider that is Shared Source. What does this imply? Or is your thought to give these as examples for people to look at but not really use in an App? I guess I am showing my lack of understanding of the Shared Source Lincese, but I would be happy to help with an MySql and PostgreSQL provider (gotdotnet username-briann).

# Dynamic Queries vs. Stored Procedures

Monday, November 24, 2003 4:58 PM by TrackBack

# re: Help build ASP.NET "Whidbey" Providers

Monday, November 24, 2003 10:03 PM by Nick Ryberg
Any hope for us poorer programmers that couldn't go to PDC?

Is Whidbey available in any other form?

I'd like to chip in with testing, but without the test environment, I'm kind of testy. So to speak.

# re: ASP.NET "Whidbey" Database Cache Invalidation

Tuesday, November 25, 2003 2:49 AM by Marco Trova
Just a question: At which level is Outputcache? I think it is near http.sys, because I don't see IIS logs entries for the requests after the first one.

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:13 AM by Scott Galloway
Forget where I found it, but I've been using a collection of RSS Objects to generate my feeds of late, mainly because I happen to have a collection which I bind on to a List control - it was simply easier to bind on to this collection, I'm uploading them to http://www.mostlylucid.co.uk/uploads/RSSClasses.zip if anyone wants them...

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:19 AM by G
I've been playing around with this for vb.net:

http://www.philweber.com/net/2003/03/05.htm

Also, the next version of nsoftware's IPWorks is going to have an RSS component:

http://www.nsoftware.com/products/v6.aspx

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:31 AM by Dan Bright
I use an XmlTextWriter (http://www.codeproject.com/aspnet/RSSviaXmlTextWriter.asp), but RSS.NET (http://rss-net.sourceforge.net/) appears to be pretty nice. You have to download the nightly tarball or get the source from CVS on that though.

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:34 AM by Julien CHEYSSIAL
http://sourceforge.net/projects/rss-net/

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:42 AM by Adam Kinney
I wrote an object model awhile ago:

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=82651160-90f3-48af-9f99-1e534472f6e8

There might be some embarrassing code in there, but it worked for me at the time :)

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 8:47 AM by Scott Galloway
Adam, yours is the one I've been using...I like it, it works reliably...

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 9:12 AM by Matt
I built an rss class using the xmldocument class.

http://www.mattsblog.com/source/

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 9:29 AM by Brad Wilson, The .NET Guy
If we've learned anything in the last year, it's that we have enough malformed RSS feeds out there.

USE AN XML TOOL.

That's just impossible to state strongly enough. Use something that's guaranteed to generate proper XML, not a textual macro system.

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 9:34 AM by Nick Ryberg
Will this be just for the ASP articles, or will it cover the Forums?

Or does RSS feeds already exist for the forums? That'd be something pretty useful as well...

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 9:50 AM by Adam Kinney
Glad to hear it Scott. Lucky I checked back here, and maybe you'll check back here to, who knows? For my of my opinion on comments check here: http://weblogs.asp.net/akinney/posts/39712.aspx

:|

# re: Adding RSS to www.asp.net

Tuesday, November 25, 2003 10:07 AM by Rob Howard
Thanks all!

Adam I've downloaded your source and I'll start looking at that.

In the meantime you can pull the article RSS from:
http://www.asp.net/modules/articleRss.aspx?count=7&mid=64

The 'XML' graphic won't show up on www.asp.net until the articles user control unloads from the cache (about once every hour).

# re: ASP.NET Forums Progress

Wednesday, November 26, 2003 2:18 PM by Brian Desmond
And there's going to be a great install engine in source control rather soon too! :)

# re: Continued...

Friday, November 28, 2003 1:15 PM by Philip Rieck
They can also partition the data differently across disks. They can pin the correct tables in memory. They can do things I'm not aware of.

I've had a DBA team de-normalize tables and alter 13 sp's to reflect that - the app did not have to be recompiled (most of these were simple insert/select/delete that I did not think could be optimized. They could).

when you have an application with high performance requirements - even one with minor database requirements, a sql dba (A good one) can do a lot more than just set indicies.

You may not have worked with one - I know it's fairly rare - but I've seen miracles worked by setting obscure options in places that I didn't think could be optimized.

# re: ASP.NET Forums Progress

Sunday, November 30, 2003 8:14 PM by Dave Burke
Rob, that's GREAT news! Thank you for your work in forums. I was so much looking forward to this. I try to follow .TEXT and nGallery, so since I didn't see anything yet on adding subscriptions on the site I typed in the URL (for .TEXT) as http:/..?forumid=149&mode=0 but got a newsgator "not valid RSS file found" error.

No need to check into this, I was just curious. I'm happy to wait on the icons...

Thanks again for taking the time to improve asp.net forums.

# re: ASP.NET Forums Progress

Monday, December 01, 2003 7:51 AM by Hakon
I wanted to test the beta version - but I can't register - there is an error when I try to create user.

I would like to post some feature suggestions must be logged in to post.

Hakon

# re: ASP.NET Forums Progress

Tuesday, December 02, 2003 10:28 AM by Josh Baltzell
Soon RSS will be everywhere any no one will be able to stop it. Muahahahahaha! Wait a minute, that could hurt how much my designer skills are worth! Eek!

# re: Shipping ASP.NET 1.1

Wednesday, December 03, 2003 1:01 PM by Kath
Hi Rob

Thanks for pointing me in the right direction - asp.net 1.1 was loaded but not activated!

However I'm using Windows XP professional so your solution was not possible.

I found the solution in the ASP.NET user forum.

run aspnet_regiis -i in windows\microsoft.net\framework\v1.1.4322

regards Kath

# re: ASP.NET Forums Progress

Friday, December 05, 2003 5:45 PM by Jason Frankel
RSS feeds for forum groups is a nice feature. Integration with IM would also be nice.

Rob, is there a way for third parties to contribute to the development effort?

# Good reason to hold off until BETA version of Whidbey for Membership Services?

Sunday, December 07, 2003 1:04 AM by TrackBack

# ASP.NET Forums XML conversion

Monday, December 08, 2003 12:42 AM by TrackBack

# re: Last week's Roadshow

Monday, December 08, 2003 8:43 AM by Jeff Julian
The Kansas City group really enjoyed the event in St. Louis. It was worth the 8 hours of bus ride and the near death experience when our bus driver ran a red light 5 seconds after it changed.

# re: Last week's Roadshow

Monday, December 08, 2003 8:52 AM by Jason Nadal
http://urbanlegends.about.com/cs/business/a/superglue.htm :

"What is now marketed as Superglue (TM, patent pending, whatever) was invented in the UK as a replacement for sutures. That is what it was designed for originally, not a household adhesive."

Not quite. Although Superglue has been used with great success in place of sutures for certain medical procedures, the oft-made claim that it was originally invented for this purpose is false.

In fact, Superglue (known to chemists as "cyanoacrylate") was invented quite by accident. Twice. In both cases, scientists were trying to come up with new plastic compounds for use in applications such as gun sights and jet canopies, happening unexpectedly upon a formulation that stuck to everything it touched. The first time it occurred, during World War II, researchers regarded it as a nuisance. The second time, during the 1950s, a light bulb finally went on in somebody's head. It was first sold as a commercial product in 1958.

# re: Editorializing weblogs.asp.net

Monday, December 08, 2003 9:43 AM by Thomas Tomiczek
::I wanted to confirm that I’ve personally
::received email from Bill (Gates that is)
::that all blog entries must now be reviewed
::by Microsoft legal,

Really?

I thought it was Steve Ballmer which was "running" Microsoft (and Bill makes the tech).

In this case I think you will get a new g uideline soon that states that every blog entry must mention the word "Developer" at leat 39 times.

# re: Editorializing weblogs.asp.net

Monday, December 08, 2003 9:46 AM by Rob Howard
> word "Developer" at leat 39 times
Ha, ha ;)

# re: Editorializing weblogs.asp.net

Monday, December 08, 2003 9:55 AM by Scott Galloway
Umm...didn't Paul post this in the ASP.NET forums during the Alpha...? Are you saying that you ignore the forum post and only act on weblog entries :-)

# re: Editorializing weblogs.asp.net

Monday, December 08, 2003 9:56 AM by Scott Galloway
Also kidding...:-)

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 10:22 AM by Zertox
never had problems with my T68 ...
i have it since its release ... but i'm kind of tired of it now after 2 years or so ?? :s
i rather get myself a smartphone :)

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 10:47 AM by Perry
Rob -- I had a T68i here in Chicago for the last year or so, and I travel to St Louis for the in-laws every so often, same problems.
The phone is cool as a gadget -- but horrible as a cell phone. It can't hold a signal, and would drop calls.
So I smashed mine on 'accident' in my car door one day and got a Nokia 3650 camera phone.
Its WAY bigger than the T68i but really cool.
Q: Is there anyway to do some .net dev work on these phones, or am I forced to code in Java only?
P

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 10:54 AM by Mickey Williams
That pretty much sums up my experience with the t68i. It was a nice gadget, but it completely sucked as a telephone. I've got an MPx200 now, and I'm much happier.

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 11:12 AM by Zertox
i shoud have an "accident" with my cellphone next year somewhere :D

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 1:16 PM by Jason Tucker
the T68i in the early firmware had many problems that have been fixed in most recent firmwares. A good alternative to the T68i is the T610/616. It's a great little fone and can be had for next to nothing these days.

as far as development goes your kinda relegated to either C++ (straight or using Mophun kit) or a Java. Either solution sucks big in my book as there are no good IDE's for mobile dev in that space, not like VS.Net.

if your going to go with a Series 60 phone or higher you can look at Appforge's MobileVB product. They are also coming out with a VB.Net version called Crossfire sometime next year.

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 2:27 PM by Stephen Swienton
Why aren't you using a Windows Powered SmartPhone?! :p

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 08, 2003 3:36 PM by Phil Winstanley
I'm suprised you're having issues Rob, I had a T68i for a year from their launch here in the UK and have used it all over the world with success (including all over Seattle)- I've never run in to any of the issues you encountered.

In fact I was so happy with the handset I went out and bought a T610 as soon as my contract expired on the T68i.

I would wholeheartedly reccomend the T610 to anyone, it's a lovely Phone, the camera is a bit pants but the rest rocks.

# re: Last week's Roadshow

Monday, December 08, 2003 9:43 PM by Rick Strahl
Rob if you come to Hawaii you'll probably want to island hop to Maui to windsurf. Diamond is doing much this time of year (until summer). If you come out this way, let me know...

# re: Editorializing weblogs.asp.net

Tuesday, December 09, 2003 7:33 AM by Charles M. Carroll
Typical Microsoft, Typical Rob Howard

"Moving your blog somewhere else would only mean that it’s going to be harder to act on your feedback."

Of course the MS notion of community is "we mostly read the communities we are involved with and ignore most others". MS people truly wanting feedback would be subcribed (via NewzCrawler or Feedster) to blogs all over the web not just reading the blogs in the 1-2 commumities they host. But as the track record shows you read "Your Forums" and private but not public AspAdvice lists. If you guys really understood the word community you would realize community starts outside of the sites/forums/groups/lists/NNTP you finance/host or create - Community means the world beyond you not the insular self-serving things you call communities.

# re: Editorializing weblogs.asp.net

Tuesday, December 09, 2003 8:50 AM by Rob Howard
> "...ignore most others"
Charles, please don't put comments in quotes when that is not something I said.

For the ASP.NET communities we actually follow many other outlets. In this case I'm simply making the point that it's easier for everyone if we follow the discussion here. FWIW, many people have come to the same conclusions :)

# re: Editorializing weblogs.asp.net

Tuesday, December 09, 2003 9:41 AM by Charles M. Carroll
The "" marks refer to sarcasm and deep irony NOT a literal quote from you. Sorry for the misunderstanding.

Like the Japanese concept of watching someone's actions and ignoring their words yours and ASP.net team's actions are loud and clear whether you say it or not.

Fro example your bosses Scott Guthrie's "Day of Love" calls it in the .net Developer's Journal where the ASP.net team participates in community mostly consists of posting in your OWN forum not the YahooGroups I created, not the numerous 3rd party communities, just the Forum your team created.

Your sense of community needs to extend beyond the "we created it or we blessed it and give it money" borders. Otherwise you are using only one really convenient definition of community
http://dictionary.reference.com/search?q=community
Definitions 2-5 seems to mean nothing to you or any MS employee I have met.

Until your actions prove differently your words will carry litle weight.

Answer
http://www.learnasp.com/aspfriends/msfiasco
and various emails on
http://groups.yahoo.com/group/MicrosoftCommunityComments
from outside your INSULAR so-called community if you want to PROVE you are really paying attention to community.

Of course you just preferred to lie to David Treadwell privately that you never made such a promise via phone conversations. You can respond/lie publicly as well in response to that article, but so far no response.

# re: Adding RSS feeds to www.asp.net/forums

Tuesday, December 09, 2003 10:01 AM by Scott Galloway
Nice one..the convergence of forum and blog continues apace :-) Now, .TEXT should follow suit and support membership and notifications :-)

# re: Last week's Roadshow

Tuesday, December 09, 2003 12:16 PM by Jon Kale
"Rock climbing really tears up your hands"

Heheh... only if you can't jam :-)

That said, you probably did most of your jamming on what, sandstone splitters? In which case, I can sympathise somewhat... but next time you're in the UK, pack your rock boots and a chalk bag and head up to the Peak District for a day out on the gritstone: it's God's own rock.

Oh, and if you think you can jam try, in order, the File on Higgar Tor, the Vice at Stanage End and finally Matinee Crack at the Roaches. And if you find them easy, there's always Ray's Roof...

# re: RSS feeds on www.asp.net/forums is live!!!

Tuesday, December 09, 2003 12:18 PM by Matt Hawley
Is there any way to format the feeds? They're coming back successfully, but if the person posts a ton of code examples, everything just runs together. I'm jusing NewsGator v1.3

# re: RSS feeds on www.asp.net/forums is live!!!

Tuesday, December 09, 2003 3:52 PM by Kent Sharkey
W000t! Thank you thank you thank you! ;)

TTFN - Kent

# re: RSS feeds on www.asp.net/forums is live!!!

Tuesday, December 09, 2003 7:02 PM by Scott Galloway
Rob, any chance of getting an OPML for all the forums?

# re: Design trade-offs

Tuesday, December 09, 2003 9:41 PM by Joel Ross
I'm probably a little late to the table, but personally I like the idea of one abstract class, because I think it is simpler.

But I think there is a better way to get both sides of the argument. First, this is not my idea - I saw it somewhere - can't remember where though. Why not have methods like CanValidateUser() and CanEncrypt() that would tell whether this implementation supports that functionality?

Just a thought.

# re: RSS feeds on www.asp.net/forums is live!!!

Wednesday, December 10, 2003 7:28 AM by Scott Watermasysk
Great. My suggestions:

1. Ability to subscribe to a forum group
2. CommentRSS support (this way, you can see responses as well from your aggregator)

In Forums 2.0, it might be cool if:
1. A user can build their own list of forums list to watch in a single feed rss.aspx?userid=234
2. Ability to post a response via the CommentAPI (to forums that allow anonymous access)

-Scott

# re: Adding RSS feeds to www.asp.net/forums

Wednesday, December 10, 2003 7:47 AM by iwonder
Just great, I've already put it on my site. Way to go, and so timely. I just began a series on how to create and use RSS news feeds.

Great Job,

iwonder

# re: ASP.NET Forums

Sunday, December 14, 2003 8:07 PM by Jason
Every time I try to make a post to the ASP.net forums, the app just cycles between tow different pages in an endless loop. Maybe a bug from the upgrade???

# re: Phone Gripes: Sony Ericcson t68i

Monday, December 15, 2003 12:02 AM by Scott Hanselman
Ya, I replaced my t68i yesterday. Anyone want to buy a t68i?

# re: Adding RSS feeds to www.asp.net/forums

Monday, December 15, 2003 9:50 AM by Salman
Great work Rob, can't wait to integrate your ideas into my apps.

# re: Help build ASP.NET "Whidbey" Providers

Monday, December 15, 2003 10:16 AM by Perry Ismangil
"...specifically that we're moving to abstract base classes vs. interfaces"

Why? I've just warmed up on the idea of using interfaces and now you're moving to abstract base classes!

Isn't the argument that you can implement multiple interfaces in a single class, but you can only inherit from a single base class?

Are you as a whole moving away from interfaces or is it just this particular instance?

# re: Remote Debugging: Your feedback wanted

Monday, December 15, 2003 11:02 PM by David Taylor
Yeah,

I once wanted to setup an end-to-end demo with 3 tiers debugging from the web tier through a web service tier through to SQL Server...However I ended up giving up as it was too hard and I spent too much time trying to set it up.
This was about 2 years ago and I have not tried since.

# re: Remote Debugging: Your feedback wanted

Wednesday, December 17, 2003 11:22 AM by David Yack
Personally I would rather have MS invest in more capabilities that helped resolve problems in a production environment - since remote debugging could not be used there...

Any time we were tempted to use Remote - we always found better ways to debug / resolve the problem.

Just my 2 cents

# Stored procedures vs. Ad-hoc queries

Thursday, December 18, 2003 8:21 AM by TrackBack

# Stored procedures vs. Ad-hoc queries

Thursday, December 18, 2003 8:21 AM by TrackBack

# Stored procedures vs. Ad-hoc queries

Thursday, December 18, 2003 8:25 AM by TrackBack

# re: Phone Gripes: Sony Ericcson t68i

Friday, December 19, 2003 9:03 AM by Don Awalt
I have had the Mpx200 on AT&T's network for almost 2 months - I love it. Great signal, I have been to Baltimore, Washington DC, Seattle, Atlanta, Chicago, and Philadelphia since i got it and no signal problems. Plus I dumped my iPaq now. Life is good!

# re: Editorializing weblogs.asp.net

Sunday, December 21, 2003 8:01 AM by Cengiz HAN
> word "Developer" at leat 39 times

while the my phone ringing Steve Ballmer shouts....

"Developers, Developers, Developers .... "

:))
so good.

# Provider Model vs. Proxy Pattern

Monday, December 29, 2003 11:57 PM by TrackBack

# Provider Model vs. Proxy Pattern

Monday, December 29, 2003 11:59 PM by TrackBack

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, December 30, 2003 10:15 AM by Mr Ed
So Frans has reared his head in a charming manner. Hmmph.

Anyway, here is a question..in real life how many programmers out there trot their code around multiple databases? Not that many I would bet. And as for the ones who do have this requirement - why write a multi-configurable dynamic SQL system when you could simply modify your SQLs? As for the guy who thinks that his programmers couldn't or don't want to learn a new database system's SQL structures (like its all THAT hard) ...how are do you expect them to write the Dynamic SQL statements for the new systems if they don't want to learn anything?

What it comes down to is that SPs have a lot going for them, some of it built in - like vastly increasing the difficulty to a hacker. Why chuck the advantages away when they are handed to you on a plate just because (after a lot of effort and (possibly unwarranted) faith in your own ability to see all the possibilities) you can? Simply there versus working for it.

No-one says you can't write dynamic SQL where you need a versatile database reading capability - it makes plenty of sense. But leave the 'I can write the world's best dynamic SQL generator that is beyond all hacker's reach and all bug's penetration, and can handle all database needs and I will simply because I can' to the university campus.

# Blackberry 7320

Tuesday, December 30, 2003 10:42 AM by TrackBack

# re: Blackberry 7320

Tuesday, December 30, 2003 1:42 PM by Chris Kinsman
Agreed on the .NET. Sounds like a job for the CF evangelists...

This would be almost as interesting as the SmartPhone stuff...

# re: Blackberry 7320

Tuesday, December 30, 2003 3:51 PM by Klaus Aschenbrenner
Why you are buying a SmartPhone running Java? We have .NET!!!! *ggg*

# re: Blackberry 7320

Tuesday, December 30, 2003 6:57 PM by Scott
It would be greate if the mobile framework supported anything other than just PocketPC.

Can't blame MS for promoting their own stuff, but it's made me look for Java based solutions to write my rinky dink little apps for my Treo 90. If I'm having this problem just to write a rinky dink little app, just think of all the lost possibilities at a large corporation or a hospital.

# re: Blackberry 7320

Wednesday, December 31, 2003 11:31 PM by Jeff
Porting .NET to the BlackBerry is almost impossible for Microsoft to do since the entire Blackberry device platform is written in Java (even some of the OS layer).

The lack of applications is a real problem mainly because of the development tools and the lack of support for real J2ME midlets. As for an RSS reader, I myself am looking for one as well. I'm currently trying to convert Mark Allanson's mReader tool to a Blackberry application -- http://www.markallanson.net/html/technical/j2me/mReader.htm.

(Disclaimer: I use to work at Research in Motion)

# re: RSS feeds on www.asp.net/forums is live!!!

Friday, January 02, 2004 1:21 PM by Paul Laudeman
Any chance of implementing these RSS feeds over at the Windows Forms site, too?

# re: Continued...

Saturday, January 03, 2004 9:31 AM by Les Miskin
I agree with Thomas Tomiczek's last post with regards to the business logic.

I'm developing a web application which manages dynamic tables which are created for customers. Because I'm not accessing a specific table, but rather a *type* of table with a variable title, SPROCS are completely useless to me because of the inability to operate with variable table names. This seems to be a great shame, as I can see how recompiling an application again just to change a simple query could become tiresome.

However, when executing an SPROC and returning a simple variable, the code required (for ADO) is far more complex and unnecessary compared to a far simpler dynamic SQL alternative.

# re: Blackberry 7320

Sunday, January 04, 2004 4:12 AM by Nick
Does anyone in Microsoft use a PPC PDA?

# re: Phone Gripes: Sony Ericcson t68i

Monday, January 05, 2004 5:38 AM by pete
i have had several problems wih my t68i, i have had sent bak 4 times and i am still having problems, it is not a very good phone and now i know i will not purchase another phone from Sony Ericcson. I am going back to my old make. Nokia.

# RE: Phone Gripes: Sony Ericcson t68i

Tuesday, January 06, 2004 10:55 AM by armand@dotnet.org.za (Armand du Plessis)
Lost mine a year ago, slow software, bad connections etc etc etc. Also back to Nokia now.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, January 06, 2004 11:27 AM by Francis Hanlon
Quoted from Microsoft web site:

"SQL Server processes every query in several steps. It parses the query, compiles the best (in its educated opinion) execution plan, and places the chosen plan in the procedure cache. Then it executes the query. Once the query is complete, SQL Server removes the plan from the cache.

Stored procedures, views, and triggers are handled differently. The first time somebody invokes an object after SQL Server is restarted, a plan is created for this object and placed in the procedure cache. The plan for a stored procedure depends on the actual values of parameters passed to the stored procedure at the first execution. The plan doesn't disappear from the cache after execution is complete. It may be used again and again by subsequent calls. Procedures created with the WITH RECOMPILE option are an exception, because their plans are recompiled and reoptimized at every execution. "

Those who don't understand what is meant when DBAs and others who know say a stored proc is compiled should do some reading. While there are methods to keep the plan for dynamic SQL in cache for longer than normal, it is not the same as what a stored proc does. As mentioned in the article security is a major factor too. It is very rare that direct access to any production table (in an OLTP aot a reporting DB) is preferable to access via a stored proc simply due to security and the possibility of injection attacks. Frankly paramaterized queries still suffer from poor security design. Ultimately without access only via stored procs I have access to the underlying tables and can do anything I want to them.

# re: Last post on the topic -- at least for now!

Tuesday, January 06, 2004 9:54 PM by Harshal
i want to call a web service using javascript
I need to call some data from server using java script

# re: Blackberry 7320

Wednesday, January 07, 2004 1:20 PM by Odi
I love this "feature":

- High Resolution 240x160 display supporting over 65,000 colors

<Sarcasm>
Wow, that's what I call high resolution!
</Sarcasm>

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Wednesday, January 07, 2004 1:56 PM by Stephen Taylor
I use stored procedures. Because we have a DB guy and and ASP guy I find that this speeds development. The DB guys writes and tests the SProcs. This makes debugging for the ASP guy easier, he doesn't have to debug (or write for that matter) the SQL. Work can be done in parallel and in co-operation.

Our development is with one database MS SQL, we aren't a software house, just the companies internal IT department. So Mr Ed's comment is quite true here.

There are times when a simple select is all that is needed and that is done in the ASP. And we find using selects in ASP when retrieving from a text type field much easier than a SProc.

I keep an open mind on these things and we use what we think is best in each particular situation. There must be a balance somewhere and is surely different for each company and each situation. Getting it right is the professionals call, hell if it's always easy we'd be out of a job.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, January 08, 2004 4:55 AM by marsow
This goes so interesting. Any conclusions.

So for I feel StoreProc leading the debt.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, January 08, 2004 6:58 AM by Eric Newton
I use sprocs whenever needed or whenever the particular "data access SQL" will be hit a lot, otherwise I tend to use easier-to-maintain sql batches with named parameters (this provides an easy way to step up... just name the sproc parameters the same, if possible)

Of note, Visual Studio Magazine makes some claims that parameterized batches are more efficient than sprocs, but I tend to think something was overlooked. It was the November 2003 issue, "Optimizing SQL" something or other

So apparently the debate will rage on! :-)

# re: Headed to Milwaukee... Brrrr

Friday, January 09, 2004 11:10 PM by G. Andrew Duthie
Pah! 24 degrees is balmy for Wisconsin at this time of the year. Now, it's only supposed to be in the low 20s here in the DC area tomorrow...THAT'S cold! :-)

# re: Headed to Milwaukee... Brrrr

Saturday, January 10, 2004 7:10 AM by Sam Gentile
> Checked the weather in WI: a high of 24 degrees tomorrow! Yikes

Bah! Its -2 here as a high. Its dipping to -20 tonight. Thats cold -)

# re: Headed to Milwaukee... Brrrr

Saturday, January 10, 2004 9:07 AM by Jim Martin
Rob, since you live in Texas how about starting up some "geek" dinners like scoble does for the Cali folks. I live in Plano and would love to meet others in the community. The Dallas .Net Users Group just doesn't quite do it :-)

# Chicago Bound

Sunday, January 11, 2004 11:46 PM by TrackBack

# re: Headed to Milwaukee... Brrrr

Tuesday, January 13, 2004 7:13 PM by Patrick Santry
"we've added more cities and will be announcing them soon"

Please be Pittsburgh or Cleveland, I can make it there.

# re: Phone Gripes: Sony Ericcson t68i

Friday, January 16, 2004 4:44 PM by Jeff Sepeta
i've had nothing but troubles since getting a t68i last year. I'm on my 3rd phone, and have ZERO signal strength in most parts of Chicago... which is home to a zillion towers. it's embarassing in front of my customers and makes me look like a stooge. calls drop at random, or it will take a bunch of calls before one goes through. after years bitching about motorola's sucky phones (i've had 2), I'm fairly certain i'll go nokia the next time around.

# In Defense of Stored Procedures

Monday, January 19, 2004 1:19 PM by TrackBack
Some more thoughts on the in-line SQL vs. stored proc debate...

# In Defense of Stored Procedures

Monday, January 19, 2004 1:22 PM by TrackBack
Some more thoughts on the in-line SQL vs. stored proc debate...

# XML extensibility, xsi:type, XmlSerializer and configuration (or how to leverage XmlSerializer OO extensibility)

Friday, January 23, 2004 11:53 AM by TrackBack

# re: Phone Gripes: Sony Ericcson t68i

Wednesday, January 28, 2004 5:43 PM by JK
hey! I was surfing on the net and trying to find phone reviews about sony ericcson t68i and google took me here. I am currently using a nokia 6510 and I'm planning to swap it to a sony ericcson t68i because right now, it's the cheapest (i think) colored phone here in the Philippines). I just hope I wont have the same problems when I get my sony t68i this weekend. this forum made me nervous about getting a sony t68i because my nokia 6510 didnt have any problems, even if I already accidentaly dropped it on the swimming pool! i just want to have a colored phone and I cant afford the T610 yet (that's really what I want to have). anyway, I will post my comments on t68i here when I get mine (if i really decide on getting one).

# re: Phone Gripes: Sony Ericcson t68i

Thursday, January 29, 2004 1:53 AM by Marleen Engeler
Help!I'm in The Netherlands, but planned to take my Sony Ericcson t68i traveling to New York City. Can't find any directions on changing the frequency. Any one outthere to help me???
Thanks. Marleen

# re: Headed to Milwaukee... Brrrr

Friday, January 30, 2004 1:13 AM by asda
asdad

# re: Post BillG Review

Tuesday, February 03, 2004 7:29 PM by anna mansfield
i just wanted to ask for the zillionth time if bill would like to donate one billion dollars to cure celiac disease?

email me already
annaceliacinc@hotmail.com

# re: Phone Gripes: Sony Ericcson t68i

Wednesday, February 04, 2004 9:53 AM by paticomorgan@yahoo.com
I am having problems sending a picture to my sony/ericcson t68 cell phone.can somebody tell me step by step what i can do to accomplish this

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Wednesday, February 04, 2004 12:48 PM by A Halifax Mooseheads Hockey Fan
I did a search for "talk about sport" as I am looking for information on where Halifax Mooseheads players lived and the history about them and their culture. We have and have had hockey players from all over the world play with the local hockey team here in halifax, Nova Scotia, Canada. I am researching anyone who has played in the past and the present for the Halifax Mooseheads hockey team. I came upon your website when I searched for sports, the words "talk about sport" must have been on this webpage , thus it put you in the search engine for the word "talk about sport". You seem to know alot about computer teckie stuff. I enjoy reading what you say, I must admit I havenot the slightest clue what you are talking about, but you sparked my interest and you got me sidetracked reading about it for the last couple hours. It was very interesting reading, although I didnot find anything about any Moosehead players. This website here is like the tv shows I like to watch of the so called sports experts sitting around a table ribbing each other with their opinions, but here you say your opinion about anything and everything.
Anyways, good luck with your website.
It maynot be what I was searching for this time, but I will be back to see how your opinion has changed or not.
I like seeing peoples thru their opinions, sometimes you see a totally different person.
Take care and God Bless
Steve A Halifax Mooseheads Hockey Fan

# .NET framework and the Provider Model

Wednesday, February 04, 2004 8:21 PM by TrackBack

# Good Design vs good sense

Thursday, February 05, 2004 7:41 PM by TrackBack

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Saturday, February 07, 2004 12:43 AM by Borris
what as stupid little smuck you are Steven... Mooseheads Hockey?

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Monday, February 09, 2004 9:39 AM by Sjors P.
Peter: Why do you think stored procedures are hard to debug? Just keep your profiler in the background, and debugging is very easy.

# I like stored procs

Wednesday, February 18, 2004 8:24 AM by Tim Scarfe
Some general comments posted to blog @ http://www.developer-x.com/journal/2004/02/18/

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Friday, February 20, 2004 7:52 AM by Robsta
This is another case of developers shooting from the keyboard. As developers we are provided with tools and those tools may be useful one day and outdated the next. Why would someone avoid using Sprocs? Why would someone avoid dynamic sql statements? The key is to know the benefits and shortcomings of both, which has been emphasized here, and making a sound decision on which is appropriate. I recommend using sprocs for multiple updates, such as updating a time and inserting a record, or simple return statements, such as select FIELDS from TABLE where FIELDID = parameter. I would also recommend using dynamic sqlstatements for akward query building. When it comes to updating a database though, I think you should have one account with ONLY update permission. Use a sproc to retreive the recordset, make your updates and use ado to post the updates under the account with update permission. This describes a web application that does not use windows authentication of course.

- Use sprocs for consistent statements and multiple updates.

- Use dynamic sql statements for akward query

- Use ADO for updating recordsets under an update only account. (The security to fetch the recordset has an enormous impact if you think through this model. How can you update a recordset if you can't fetch it?)


Most important? Realizing you have more than hammer and nails in your toolbox. If you use ADO Commands you should really invest the time into understanding them to the best of your ability. Don't copy and paste examples from the web and code on the fly.


Robert Shaver
"Don't be a cut and paste programmer"

# re: Blackberry 7320

Friday, February 20, 2004 12:11 PM by Stuart Hunter
There is an RSS Aggregator available that you can install over the air to your 7230. It is basic but it works:

http://developers.sun.com/techtopics/mobility/applications/peekandpick/

# re: Headed to Milwaukee... Brrrr

Thursday, February 26, 2004 2:17 PM by Enigma
Still not back from Milwaukee??? Thats a long time to stay there

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, February 26, 2004 2:18 PM by strivectin
in real life how many programmers out there trot their code around multiple databases? - Not me.

# re: Plano, TX .NET User's Group

Friday, February 27, 2004 8:23 PM by Paul
Welcome back Rob, so you survived the ASP.Net Exposed Tour.

How does a User Group become a member of INETA before their first meeting?

# re: Plano, TX .NET User's Group

Friday, February 27, 2004 9:45 PM by Rob
Good question! I think INETA has a application that needs to be completed, but I'm not familiar with all the detais.

# re: Phone Gripes: Sony Ericcson t68i

Saturday, February 28, 2004 1:50 PM by Tripper
How are you attempting to send the pictues; ir, blue tooth, email, provide more info for accurate help.

# re: Phone Gripes: Sony Ericcson t68i

Saturday, February 28, 2004 5:06 PM by R Copalani
I know two people who got their T68i, and both have the same problem. ie signal problems, phone cuts outs and unable to make calls. In both cases it has been for repairs 2-3 times.

It seems to me from reading this list that people who bought their T68i when it came out are fine, but people who bought it say one year about the launch are having problems. Maybe they changed the way they made them??? Is this a correct assumption? What do people think?

Also, the worst thing is that the second hand value of the T68i is practically worthless! (The older black/white T39 is worth more!!)



# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 9:49 AM by Scott Galloway
No chance of visiting the UK I suppose :-)

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 9:56 AM by Karl
or canada...

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 10:08 AM by Rob
I know :( --- hopefully at some point we'll be able to expand it to other cities. The more people that attend the events the more likely we'll be able to add more cities. So far the feedback has been very, very positive - so it's easy to justify adding more cities.

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 10:24 AM by Jeff
Boo! Where's Cleveland? :)

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 10:31 AM by Greg Robinson
Cool, count us in for DC.

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 11:35 AM by G. Andrew Duthie
Excellent news, Rob! Glad to hear you're going to make it to D.C.!

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 12:42 PM by Victor Garcia Aprea
Rob... I can't find Buenos Aires, Argentina in that list... ;-)

# re: Extending the ASP.NET Roadshow

Tuesday, March 02, 2004 2:21 PM by Kirk Allen Evans
Sweet! See ya in ATL!

# re: Provider Design Pattern

Tuesday, March 02, 2004 8:27 PM by Bill
Why don't you follow the same Provider pattern from the <a href="http://msdn.microsoft.com/library/en-us/dnpag/html/authpro.asp">Authorization and Profile Application Block</a>? Or maybe, why didn't they use the Whidbey implementation? It seems like the provider pattern in Microsoft.ApplicationBlocks.Common is almost identical. Should I be using the code you'll provide in Part 2 of the article or the code from the PAG application block for my current apps?

# re: Provider Design Pattern

Tuesday, March 02, 2004 9:43 PM by Rob Howard
Great question!

The PAG group has the luxury of looking at our design plans, sometimes while they are being iterated over, and using those plans for building the blocks; including the Authorization and Profile block. The PAG team usually works with us to review the blocks they build (at least several of the more 'web' related blocks) and we of course made suggestions based on where we were headed. In this particular case I believe I had suggested they review the 'provider' implementation we were using for the ASP.NET Forums, as we knew we were going to somehow productize it.

As for which to implement, naturally I'll say the 'Whidbey' pattern as it is part of the framework. Furthermore, I believe that when Whidbey ships it will also impact the design of many of the current blocks.

# re: Provider Design Pattern

Wednesday, March 03, 2004 12:16 PM by Shaun Walker
This Provider Pattern has proven invaluable in allowing DotNetNuke to achieve its goal of database independence ( we currently support SQL Server and MS Access - and a mySQL provider has already been created by a third party developer ).

# re: Provider Design Pattern

Wednesday, March 03, 2004 12:20 PM by Shaun Walker
Sorry... the link in my previous commment is invalid - it should point to the location of the DotNetNuke Data Access Whitepaper which describes our specific use of the Provider model.

# Provider Models! COOL!

Wednesday, March 03, 2004 12:58 PM by TrackBack

# re: Provider Design Pattern

Wednesday, March 03, 2004 5:19 PM by Tom Lucas
This pattern should also allow great flexibility in future versions of DotNetNuke and other applications. Just think how following this provider pattern it would be easy to abstract out the Authentication part of DotNetNuke and allow developers to create different pluggable authentication providers.

Sure you could do Windows, AD, Forms but what about CA TopSecret or other proprietary authentication systems. Following the provider model, they could be interfaced and possibly integrated.

Great work to Rob and team!

# Afternoon Link Roundup

Wednesday, March 03, 2004 5:32 PM by TrackBack

# AbstractFactory

Thursday, March 04, 2004 4:07 AM by Fabrice
I've been working on this approach (based on your previous writings about it, amongst others). The solution I came up with is our AbstractFactory implementation.

Our configuration files look the same, except they have a Group level: Providers/Group{name, defaultProvider}/[add/clear/remove]. In your case, the groups would be named something like "Forums" or "Membership".
The implementation involves classes named Provider, FactoryGroup (= ProviderCollection), InstanceFactory, and the higher level AbstractFactory class. The configuration is loaded by a separate AbstractFactoryConfiguration class which sets up the AbstractFactory using an XML file.

Isn't the Provider design pattern roughly the AbstractFactory design pattern?

I noticed that you use base classes, but don't rely on interfaces.
I understand that the base classes bring in a common behavior. But you never talk about interfaces. In our case, each provider would implement an interface depending on the functionality it provides. Then every provider is used only through that interface. Of course, this doesn't prevent the use of base classes.
Is there something wrong with interfaces?

Do you use some caching? For example, do you keep a collection of the types used to create instances of the providers?

Waiting for the second part of your article to see the implementation bits :-)

# re: Provider Design Pattern

Thursday, March 04, 2004 8:57 AM by Fabrice
I also wonder: since you specify types using assembly type names and not file locations, the assemblies need to be in the AppDomain base directory or in the GAC, is that right?
Do you have a way to support assemblies located somewhere else?

# re: Extending the ASP.NET Roadshow

Friday, March 05, 2004 6:43 AM by dave
Cincinnati is spelled incorrectly :)

# re: Extending the ASP.NET Roadshow

Friday, March 05, 2004 9:41 AM by Milan Negovan
Rob, how come so little is done at NYC? It feels almost like NYC is not on Microsoft's radar screen much. :( This goes not only for the Roadshow but other events as well.

*sigh* Why did I leave Atlanta?...

# Provider Design Pattern

Saturday, March 06, 2004 5:47 AM by TrackBack

# re: Extending the ASP.NET Roadshow

Saturday, March 06, 2004 7:09 PM by Paul
Rob was in NYC on the ASP.Net Exposed Tour,
his presentation was fabulous (for the first time ever I got a glimpse at how Microsoft creates software).

The problem in NY and NJ is the local Microsoft MSDN Marketing Rep. Jorge Santiago doesn’t speak to Developers. The ASP.Net Exposed Roadshow was a fiasco, the venue was changed and half the people didn’t know it! The pizza arrived two hours late and it was Domino’s (we have real pizza in NY). Only 180 Developers showed up at the NJ DevDays, Jorge was there the whole day very satisfied with himself, talking only to the presenters and staff. The location was convenient for him but bad for the NJ Developers.

We have some very good .Net User groups here:
http://www.nycdotnetdev.com/Default.aspx
http://www.njmsdev.org/

Hope to see you at a meeting soon, maybe we can get Rob as a speaker!

# re: Extending the ASP.NET Roadshow

Monday, March 08, 2004 11:04 AM by Milan Negovan
As a matter of fact, I do attend the NYC .NET user group when I think it's worth it to spend more than 3 hours to get to the city from Long Island and back. I don't think I'll be going to the "Micro Focus and Borland on Alternative .NET Languages" one. :) Funny enough, of all cities NYC is stale when it comes to promoting Microsoft's technoliges, .NET being the one I'm interested the most. I was in for a lot more networking at Atlanta. *sigh* I miss Cobb Galleria.

# re: Extending the ASP.NET Roadshow

Monday, March 08, 2004 12:07 PM by paul
I'll bet you don't miss the Braves...

Here is a list of Microsoft Events:
http://www.microsoft.com/usa/nynjct/calendar.asp

I used to get a bimonthly email with Local News, but it doesn't come to my inbox anymore...

# re: Phone Gripes: Sony Ericcson t68i

Tuesday, March 09, 2004 4:15 AM by Jase2k
The phone sucks - big time! the phone just laughs at you every time you need to make a call. Im gonna take mine back today and demand a new phone - Not a sony!

# Light Containers, Inversion of Control, Abstract Factory

Tuesday, March 09, 2004 10:12 AM by TrackBack

# The Data Loader Objects design pattern: Light Containers, Inversion of Control, Abstract Factory

Tuesday, March 09, 2004 10:17 AM by TrackBack

# re: Extending the ASP.NET Roadshow

Tuesday, March 09, 2004 1:12 PM by Paul Schaeflein
The event in Chicago was a "circus" -- see my blog for details...

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Tuesday, March 09, 2004 5:16 PM by Shawn Oster
It is truly amazing to see the amount of different opinions here, some good, others coming from what seems like a purely dogmatic point of view.

One thing to remember is that stored procedures are just a part of the whole and how easy they are and how much benefit they provide depends upon whole. The whole includes not just your design but also productivity, maintenance, performance and scalability. If they are "easy" or "hard" to use then what you are really saying is they do or don't work with your existing process.

For us stored procedures fit easy into our development process. Here are some of the benefits beyond what Rob mentioned:

- All our sp's are sql scripts that are added and modified via osql.

- Now they can all be version controlled, with an exact history of who screwed what up *grin*.

- Each script has it's own unit test (JUnit\DUnit-style). Make a change and run the tests. Not "wait for the user to hit the site and have it crash". Also, ever tried to write a unit test for an ASP page? MUCH harder.

- If we are tempted to run a simple little select then we are forced to reevaluate the page. Are we doing any other DB-related work on that page? Can it come back with another procedure? Almost always the answer is yes. I've got even our advanced dev's with two ad-hoc SELECT's because they didn't realize another dev was already getting some piece of information elsewhere on a page with multiple includes.

The benifits of maintence and debugging via unit tests FAR outweights the difference of a few minutes it takes to create a stored procedure.

# re: Provider Design Pattern

Thursday, March 11, 2004 6:38 AM by Matt Phillips
When is Whidbey coming out? 2005
When are we going to be able to start using it? 2005/6

Please don't prematurely switch to Whidbey-only stuff. Making the best of the current stuff is hard enough as it is.

# re: Provider Design Pattern

Thursday, March 11, 2004 1:15 PM by Josh
Matt,

Although I concur with the thoughts of getting bombarded with Whidbey-only articles lately by just about every .NET site out there I actually appreciated this article because it's a technique that we can use now, that has a lot of value in it of itself(look at what gotdotnet did with a very similar pattern) but also prepares us for whidbey and possibly easing any eventual migration to whidbey. Thx Rob and keep these kind of articles coming :)

Josh

# re: Remote Debugging: Your feedback wanted

Friday, March 12, 2004 9:59 AM by Ann Nano
Funny, I stumbled across this site trying to set up remote debugging, I'm almost there (I think)! Instead of debugging locally and hitting snags when I deploy, I want to stage the code on a mirror of my production server and remotely debug it. I had a real-world bug I was going to use as a test case, but got so frustrated setting it up I just fixed the bug locally. I think it will be good in staging environments, but I need end-to-end docs from setting up the server to associating Debug Source in the solution and breaking on the remote process.

# re: Extending the ASP.NET Roadshow

Friday, March 12, 2004 1:16 PM by Ray Schraff
CLEVELAND needs ASP.NET ! ! ! ! ! ! !

# re: Extending the ASP.NET Roadshow

Friday, March 12, 2004 2:14 PM by j
j

# Evaluation of Stored Procedures for the .NET Developer

Tuesday, March 16, 2004 12:53 AM by TrackBack

# Evaluation of Stored Procedures for the .NET Developer

Tuesday, March 16, 2004 12:53 AM by TrackBack

# Evaluation of Stored Procedures for the .NET Developer

Tuesday, March 16, 2004 12:55 AM by TrackBack

# Evaluation of Stored Procedures for the .NET Developer

Tuesday, March 16, 2004 12:55 AM by TrackBack

# re: Provider Design Pattern

Tuesday, March 16, 2004 3:13 AM by Johan Normén
Hi Rob.

I have just read this article and before that looked at the code in 2.0. Maybe other have notice this too, or have the same thought as I do.
There is one thing I don't like with this Provider Pattern for 1.1 and 2.0. Why instantiate all providers at the same time? Why not only instantiate the provider you are asking for?
If you want to use another provider, you call it, instantiate it and then cache it. Because you might use lots of providers (depends on the enterprise scale of your application) and all those providers are using space in the memory.

With this solution you don't need the <clear> and the <remove> tags, you only need the functionality to remove or clear providers within the collection class. It’s little tricky to know what providers you must clear or remove without looking at the machine.config file. When I implement stuff I don’t care about the machine.config and don’t want to tell my application to not use providers that are configured there. Usually, I don’t want to use the default providers at all, and never want them to insatiate either. And I don’t want to spend time to add code to remove or clear them within my web.config file. Is there any special case why you are doing this?

Best Regards Johan

# Evaluation of Stored Procedures for .NET Developer

Saturday, March 20, 2004 8:03 PM by TrackBack

# Whidbey Provider Design Pattern pitfalls

Monday, March 22, 2004 9:12 AM by TrackBack

# Whidbey Provider Design Pattern pitfalls

Monday, March 22, 2004 9:38 AM by TrackBack

# re: Provider Design Pattern

Wednesday, March 24, 2004 11:36 AM by John Hampton
Rob,

I am interested in your take on what Nick Berardi talks about over at http://blog.zigamorph.com/Default.aspx/archive/2004/03/23/146.aspx on his blog. He brings up some really good points on how Provider Design Patterns are not always the best solution and many times won't work for modular components.

John

# Thanks to Scott Watermasysk for .Text

Thursday, March 25, 2004 9:13 PM by TrackBack
Thanks to Scott Watermasysk for .Text

# Much ado about provider design patterns

Friday, March 26, 2004 9:48 AM by TrackBack

# Much ado about provider design patterns

Friday, March 26, 2004 9:57 AM by TrackBack

# Community Starter Kit 2.0 - Data Provider

Friday, March 26, 2004 3:11 PM by TrackBack

# re: Provider Design Pattern

Saturday, March 27, 2004 8:40 AM by Nick Berardi
Rob,

I am not saying that the provider design has no use. I actually said it is probably the best method for ASP.Net Forums, because you don't have to deal with plug-ins. Where the provider design is not the best solution for DNN, because they have to support multiple plug-in's that may not always have the same support for the database they are running.

The provider design is a great way to create plug-in's, but not plug-in's for plug-in's. I use the provider design exclusively in my project for everything except the database.

I use it to interface with modules, authentication plug-in's, portlets, webparts, basically anything that you can mention that is needed in a portal. I have abstracted them all to make the interfacing a little easier.

However, I beleive DNN shot them self in the foot, by not having a tracation broker that all the modules had to go through inorder to use the connection that is specified in the web.config. But again this is just my thoughts on the provider design when getting useded in a modular environment.

I would loved to be proved wrong on this, because the Provider Design is alot easier to work with, however I am not seeing how it will help in modules or controls that have no idea what database is getting used at the time they get loaded.

# re: Provider Design Pattern

Tuesday, March 30, 2004 4:40 AM by Marcus Mac Innes
Hi Rob,

There is one thing I was left confused about having read Part 1 of the article on MSDN.

I understand that the provider pattern is essentially a formalised and configurable implementation of an abstract factory which is especially useful for creating protected variations. Granted.

But you began the article talking about the personalization design model: The flexibility / poor performance with a name/value pair style Property table and inflexibility / good performance of a fixed Normal table design.

This is a common design issue and sticking with this specifically, I don’t see how the provider pattern addresses this problem.

When you said “we didn’t want users to have to call a DBA to modify the tables for incremental changes”, how does this change if users have implemented their own Provider? You still need to store the data and you are back to the same conundrum described above…

Thoughts?

# re: Extending the ASP.NET Roadshow

Tuesday, March 30, 2004 1:16 PM by crisp
I see atlanta on the list, but can't sign up for it... Any technical help available?

# re: Phone Gripes: Sony Ericcson t68i

Wednesday, March 31, 2004 9:55 AM by ACD
My T68i works great especially the bluetooth. I have it running through my Acura with no problems.

# re: Phone Gripes: Sony Ericcson t68i

Monday, April 05, 2004 5:59 AM by Roger Halder
The T68i phone works in odd ways. It has an echo type "hello, hello" sound whenever you make or receive a call and it stops you from hearing a portion of what the other person is saying. Another problem is that it can on its own go into "hands free" mode and all receiving or outgoing calls are subjected to "ciphering switch off" for no reason whatsoever.

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Sunday, April 11, 2004 12:27 AM by Andrew
Francis Hanlon post is quite good I want to add or emphasis:

Yes stored procedures are compiled which means query plan is made and stored. But that is not the only speed advantage of SPs. In addition they reduce network round trips and therefore significant delays. With SPs SQL Server 2000 can execute about 5000-10000 SPs per second. Please try this with sending plain SQL queries and you will always avoid sending plain SQL queries.

Don't forget to use parametrize queries. If you do your job right you will seldom need to use result sets at all.

And against some posts before I say debugging T-SQL is much easier than debugging your code no matter what language you use.

In addition even if you want to do encyrption tasks or so use E-SP and the performance will be incredible.

Or to say it simple:
1.) SPs are always faster
2.) There are many arguments pro SP and no argument against.
(Ignoring some special cases like programming a DBA tool, or things like that)

# re: Help build ASP.NET "Whidbey" Providers

Wednesday, April 14, 2004 2:58 AM by abiao
Why?

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, April 15, 2004 8:58 PM by TL
http://www.strivectin.tv

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, April 15, 2004 8:59 PM by TL
Solution http://www.strivectin-kleinbecker.com

# re: ASP.NET "Whidbey" Provider Model

Friday, April 16, 2004 11:17 PM by Paul D. Murphy

This is a disastor waiting to happen. We you have an API that is funtionally wrapped up into a package a static methods (I know the Role Provider class isn't static, but it's access is) you have a service. The ASP.NET team should have built an infrastructure to make it easy to expose a clean API as a service. Read more here.

http://blogs.aspadvice.com/pmurphy/archive/2004/04/13/949.aspx

# re: Phone Gripes: Sony Ericcson t68i

Saturday, April 24, 2004 2:10 PM by bunmioyefeso@yahoo.com
I ve a problem about connecting my Jabra Bt200 to my t68i.It keeps on showing Ciphering Icon.What should i do!!!!Pls help by sending a reply to my e-mail address.Thank u

# re: On the road(show) again

Monday, April 26, 2004 10:10 AM by Michael Giagnocavo
I'll be at the Atlanta meeting tonight.

# Community Starter Kit 2.0 - Data Provider

Monday, April 26, 2004 2:19 PM by TrackBack

# re: On the road(show) again

Monday, April 26, 2004 2:32 PM by Fredrik Normén
Regarding the Provider pattern.
I think you could add a "nullabel" provider. This could for example be useful in a test environment when providers aren’t implemented yet, and you want to do some testing with the feature. A "nullable" provider could also be used, if you don’t want the provider not found exception to be thrown. This could be another option of disabling the feature, but still be able to call it, without throwing an exception.

# re: On the road(show) again

Monday, April 26, 2004 2:36 PM by Mauricio Feijo
Thanks Ron! See you there!

Mauricio Feijo

# re: On the road(show) again

Monday, April 26, 2004 2:43 PM by Mauricio Feijo
Sorry Rob, I misspelled your name..

# re: On the road(show) again

Tuesday, April 27, 2004 2:00 PM by Brendon
Great presentation at the road show. Do you have any good links for resources for the provider pattern. It looks like the Provider is the building block of the next ASP.NET structure.

# re: Time to start coding on 'my' provider

Thursday, April 29, 2004 11:45 AM by TrackBack

# re: Provider Design Pattern

Monday, May 03, 2004 1:34 PM by Michael Collins
I am curious on your thoughts on unit test patterns using the provider block? How have you done unit testing in your projects on code that uses providers?

I've typically used interfaces in the past instead of abstract base classes because I've been leaning towards interface-based components rather than building up class hierarchies. This has had the advantage of using NMock and other dynamic proxy-type tools that let me mock and simulate my dependencies and interactions. With the proposed approach of using abstract base classes for providers instead of interfaces, I forsee having to return to defining hierarchies of mock objects, as well as having to create special configuration files for my unit tests to use the mock providers.

I'd be interested in reading about what types of strategies that you've used to unit test components that are dependent on providers.

# re: Phone Gripes: Sony Ericcson t68i

Tuesday, May 04, 2004 9:51 AM by mehmet
merhaba ben bir ericcson kullanicisiyim elimde ericcson marka renkli ekran bir cep telefonu var ve ben bu telefonda çektigim resimleri bilgisayara aktarmak istiyorum acaba bunun için gereken programlari gönderebilirmisiniz

# re: Provider Design Pattern - Article Part 2

Tuesday, May 04, 2004 12:24 PM by Daniel
Nice Article.

One question regarding the code:
You use a singleton pattern with class MembershipProvider and using a static Method Instance() to access the instance. Why isn't this a static property? No big difference to me, but I am just curious whether this was a common coding guideline or just a personal preference? Regarding the semantics I would rather use a get-only property.

# re: Help build ASP.NET "Whidbey" Providers

Wednesday, May 05, 2004 7:06 AM by lct3000
Are you as a whole moving away from interfaces or is it just this particular instance?

# re: Provider Design Pattern

Wednesday, May 05, 2004 10:00 AM by MishMash
Very nice (though the errors in the code on the article (not the download) are a bit clumsy.
I'm a bit confused about the lack of an interface agreed between the Membership class and the various implementations of MembershipProvider.

I'm using the pattern for some work at the moment, and it seems to make sense to me to have the MembershipProvider and Membership classes inherit from IMembership (which defines the CreateUser and Validate methods).

I could be being dumb about this, but could you clarify why this isn't/shouldn't be the case.

Cheers


# re: Provider Design Pattern

Wednesday, May 05, 2004 10:01 AM by MishMash
Scratch that. I see why. My bad!

# Provider Design Pattern & Web Session State

Wednesday, May 05, 2004 1:14 PM by kfkyle
Great article. I am looking at using it for SessionState management since we need to support Oracle and SqlServer. Are there any forthcoming articles focusing on the specifics of this can be done in .NET 1.1 and how it will be done in .NET 2.0. I am considering using the approach employed in the UI Process App Block, but would like to do something consistent with the direction of the .NET 2.0 framework.

Has anyone had to deal with non-SqlServer Session State DB providers yet? Are there any other reference implementations?

# RE: On the road(show) again

Monday, May 10, 2004 3:45 PM by Daniel Cazzulino
There are some pitfalls in the implementation I'd certainly like to see fixed...
http://weblogs.asp.net/cazzu/archive/2004/03/22/93838.aspx

# re: Provider Design Pattern

Wednesday, May 12, 2004 1:13 PM by Jiho Han
Two questions regarding the part I and II.
Hope someone can answer.

1. Why cache the constructor of the provider and not the provider itself?

2. I'm asking because I don't know but what purpose does ComVisible(false) serve?

Thanks!

# re: Provider Design Pattern

Wednesday, May 12, 2004 3:33 PM by Jiho Han
Ok, I kind of see the point in #1. If you cached the provider itself, then you'd be sharing a single object between multiple requests - which may be a problem when the object contains state information. Wait, but dont't most providers only contain static methods anyway? and what little properties it may contain will probably be static(readonly) as well.
Am I missing something here?

# re: On the road(show) again

Thursday, May 13, 2004 6:53 AM by Ville
What I'm worried about is that all of the business logic is mixed with the DAL in the certain provider.

Am I missing something here? When I look at the implementation of dotnetnuke, they are doing it differently, having only simple sql-clauses in the provider layer. (Or is this me confusing the naming of classes in dotnetnuke)

# re: Provider Design Pattern

Monday, May 17, 2004 10:03 AM by Jiho Han
more discussions...

http://weblogs.asp.net/cazzu/archive/2004/05/13/131149.aspx

# re: On the road(show) again

Wednesday, May 19, 2004 10:09 PM by Leo Nelson
Good show in Philly !

BTW Keep showing the Whidbey stuff - it totally rocks

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 8:03 AM by David Taylor
Why do some developers have problems buying commercial components?

Personally I dont think it has anything to do with the money; it usually has more to do with the licensing annoyances. For example:
- You want to change to a new development machine but cant re-install.
- You are going away for the weekend and want to use the component on your laptop while you continue development.
- You need to run the machine from a different server.
- etc.

Often it is the frustrations created by software vendors in terms of the license that cause me to prefer a free component. I would *always* prefer to pay $400 for an unlimited "We trust you" license than pay $99 per "hostname".

I gotta say; if not for my MSDN Universal Subscription allowing me to install and re-install MS softare a large number of times I would have been driven crazy by now by the product activation stuff :-)

I understand it is hard to get the balance right; but some component vendors ERR on the wrong side.

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 8:04 AM by David Taylor
BTW Rob, you and Scott G have been very quiet lately. Any update on when we can expect Beta 1 ;-)

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 8:20 AM by Thomas Tomiczek
Well said, rob.

I personally have third party software coming out of my ears, and it ROCKS.

Brutally said I think a lot of developer will see their jobs going down to india - for sutpididies like this (and yes, it is sutpid to sit down and make your own graph component instead of just buying one).

I see it every day in my winform applications. I use infragistics a lot at the moment. I put in a TON of features that people as k"how olong did it take you". Answer: no time. Zero. Their tools are powerfull, and at most I have to change some settings for most things.

These are free bonuses. Like charts. Let's make a 3d chart. Great. Would YOU put the code in to turn it with the mouse? It is in there in infragistics. 0 time just to get it working.

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 9:16 AM by Mathew Nolton
In my experiences there are two reasons for this:
1) Budget
Believe it or not, many managers out there have budget for spending 500K-1M for contractors but spending 1-2K on various tools to help their developers be more productive is a hassle. many would just not deal with it at all and tell their developers to build it themselves.

2) Developers
Many developers are more concerned with developing their own skills as opposed to using a tool. e.g. i will build it and learn so that i am more viable in the job market...

other developers really don't think in terms of money. why should we buy it, i can build it?

for example, at an engagement for a large company in the atlanta market, i recommended purchasing a simple calendar control (something like $400...with source code). Nope. the manager insisted that i build it...mine worked but with fewer features and cost the company considerably more money in the long run. i told them this was going to be the case but it didn't phase them.....it was a hassle. just build it. oh well. i did.

at another engagement i am now pushing that we look at different control packages (e.g. infragistics and similar)...we shall see.

-Mathew Nolton

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 11:13 AM by Scott Galloway
This is certainly something the company I work for have been guilty of in the past (partly because of some MS jobs which forbade the use of Open Source controls...don't ask!) - we're learning though! Things like Peter Blum's Validation and More stuff is just awesome at the 'structural' ASP.NET end, even the free ones like Matt Hawley's eWorldUI controls are just incredible in terms of increasing productivity.

# re: TechEd

Sunday, May 23, 2004 3:56 PM by Ryan Gregg
I can't wait to hear your black belt talk, sounds like we're going to get a lot of really good examples and useful code tips.

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 4:47 PM by Anonymous
Another point is dependencies. As soon as you use an external component you take an external dependency. A lot of these components go stale once the authors/vendors find out its not a profitable business and then you are stuck with that piece of scrambled obfuscated binary code (sorry, they didn't give you the source) that is part of your user experience.

Another one is packaging. I dont want OtherCompanyName.AdvertiseYourProduct.dll as part of my install directory. Some customers perception is "this is not made by the same company, be careful, it might be all just copied together".

# re: ASP.NET Control Vendor Market

Sunday, May 23, 2004 5:50 PM by Milan Negovan
I find 3d party charting controls very much overpriced. I've used Office Web Components for some time now and (1) I'm surprised how many people know they exist, and (2) they are free (read the license agreement) if you produce static charts. As a matter of fact, I have an HttpHandler that streams images of charts produced by Office Web Components into the output stream. Works like charm. These controls are truly awesome!

# re: Help build ASP.NET "Whidbey" Providers

Tuesday, May 25, 2004 4:53 AM by 厦门医疗器械
Are you as a whole moving away from interfaces or is it just this particular instance?

# re: TechEd

Wednesday, May 26, 2004 9:08 AM by Salman
Hey Rob,

I was at a stop over at Holland for 12 hours, make sure to checkout that tulip garden!

# re: TechEd

Thursday, May 27, 2004 4:24 PM by Mike
Attended your balck Belt for ASP.NET talk. Thanks for the great tips. How can I get a copy of the sample code?

Michedl

# re: TechEd Slides and other news

Friday, May 28, 2004 11:46 AM by J. Michael Palermo IV
Congratulations, and wish you success with Telligent!!!

# re: TechEd Slides and other news

Friday, May 28, 2004 12:05 PM by Scott Mitchell
Rob, good luck in your future endeavor. I'm sure you'll succeed.

Also, great job on the Black Belt Tips 'n Tricks talk. I have posted my notes of your talk on my blog: http://scottonwriting.net/sowblog/posts/1313.aspx

# re: TechEd Slides and other news

Friday, May 28, 2004 12:28 PM by Hamid Shojaee
Rob, sounds like a wonderful opp. Tell us more about Telligent!

# re: TechEd Slides and other news

Friday, May 28, 2004 12:34 PM by christoc
woah, congrats rob! hope everything goes great for you!

# re: TechEd Slides and other news

Friday, May 28, 2004 12:46 PM by Harold Hsu
Yes...tell us more about your new endeavor!

# re: TechEd Slides and other news

Friday, May 28, 2004 1:08 PM by Scott Sargent
Rob,
Congradulations on your new endeavour. I'm sure Telligent will be very successful!

Scott

# Rob makes it official...

Friday, May 28, 2004 1:21 PM by TrackBack

# Good luck!

Friday, May 28, 2004 2:06 PM by Brian Kuhn
Good luck in the new job! Always enjoyed your sessions at conferences, hope you continue to speak at the conferences.

# re: TechEd Slides and other news

Friday, May 28, 2004 2:26 PM by Sam Gentile
Good luck in your new job! I want to thank you for the personal attention during .NET V1 EAP and Whidbey Alpha programs that helped me a great deal.

# re: TechEd Slides and other news

Friday, May 28, 2004 2:33 PM by DanK
Best of luck to you, great job on the ASP.NET roadshow! Keep up the great work wherever you go!!!

# re: TechEd Slides and other news

Friday, May 28, 2004 3:34 PM by paul
Good luck, keep blogging, enjoy life!

# re: TechEd Slides and other news

Friday, May 28, 2004 3:49 PM by Dimitris Vayenas
All the best Rob. You deserve all the best!

# Rob Howard Leaves Microsoft

Friday, May 28, 2004 4:12 PM by TrackBack

# Rob Howard Leaves Microsoft

Friday, May 28, 2004 4:20 PM by TrackBack

# re: TechEd Slides and other news

Friday, May 28, 2004 4:47 PM by Jim McCracken
Good luck on your new endeaver, Rob. I've enjoyed your talks at TechEd the last 3 years running, and I hope that you will continue to be invited by Microsoft to share your great insight and expertise with the community.

# re: TechEd Slides and other news

Friday, May 28, 2004 6:29 PM by Kirk Allen Evans
Thanks for an incredible job with the ASP.NET team and for all you have done for the scores of developers working with ASP/ASPNG/ASP+/ASP .NET/ASP.NET. Good luck!

# re: TechEd Slides and other news

Friday, May 28, 2004 9:08 PM by Douglas Reilly
Congratulations! I am sure you will be doing lots of exciting new things!

# Good Luck to Rob Howard

Saturday, May 29, 2004 2:25 AM by TrackBack

# re: TechEd Slides and other news

Saturday, May 29, 2004 9:29 AM by Terri Morton
Thank you Rob for everything you've given to the community. Your enthusiasm is contagious! Looking forward to more great things from you!

# re: TechEd Slides and other news

Saturday, May 29, 2004 10:01 AM by Fredrik Normén NSQUARED2
Good luck and thanks for all your help you have given me.

# RE: TechEd Slides and other news

Saturday, May 29, 2004 10:34 AM by Luciano Evaristo Guerche
Good luck on your new endeavor and do not stop blogging. We will keep watching you...

# re: TechEd Slides and other news

Saturday, May 29, 2004 12:02 PM by Isaiah
Good luck Rob and thanks for all that you have given us!

# re: TechEd Slides and other news

Saturday, May 29, 2004 12:08 PM by David L. Penton
Thanks for all you have done! I know that we will continue to hear great things from you in the future as well. Good luck in your ventures!

# re: TechEd Slides and other news

Saturday, May 29, 2004 4:25 PM by Salman
Hey,

Oh mY! Have fun with your new venture.

# re: TechEd Slides and other news

Saturday, May 29, 2004 10:37 PM by Paul Wilson
Congratulations Rob -- there's nothing like doing your own thing and being in the city of your choice! Maybe now you'll blog more. :)

# It seems I am not alone, and the company is pretty good!

Sunday, May 30, 2004 1:57 AM by TrackBack

# re: TechEd Slides and other news

Sunday, May 30, 2004 5:51 AM by Frans Bouma
Good luck, Rob! :)

# re: TechEd Slides and other news

Sunday, May 30, 2004 9:23 AM by Paul Glavich
Hey good luck Rob. Not that you'll need it as I am sure you will do great. Thanx for all your support and help these last ("what seems like an eternity....") years ;-)

- Glav

# re: TechEd Slides and other news

Monday, May 31, 2004 12:40 PM by Tom
The demo for the paged result set seems to be missing from the Blackbelt project. Is this available somewhere? Would be greatly appreciated...

# re: TechEd Slides and other news

Monday, May 31, 2004 3:07 PM by Kevin Daly
Best wishes, and thanks on behalf of web developers everywhere for all your work on ASP.NET.

One little thing: Telligent - hmmmm, someone's been using the Nametron 300, haven't they? (see http://www.enormicom.com/05.html)

# re: TechEd Slides and other news

Monday, May 31, 2004 6:40 PM by Scott Galloway
Best of luck look forward to seeing what you do next! Pretty hard act to follow...

# re: Microsoft Bluetooth Keyboard/Mouse

Monday, May 31, 2004 6:46 PM by JW
I just bought one last week using some MS store credits. I am so disappointed... I wanted it to connect seamlessly to my bluetooth-equipped Toshiba Tablet PC. I had hoped to just walk up with the keyboard and it would connect.

No such luck... this thing *would not* connect unless it used it's own bluetooth receiver - connected to the labtop via a USB port. I don't need another USB accessory to hook up when I walk in w/my laptop... so I can just stick with my current wireless keyboard and mouse (and attendant USB connection).

Not only that, this thing installed it's own bluetooth software. It didn't work with or without that. And forget about any instructions.

What a mess... and a disappointment - it's a heckvua nicely done keyboard and mouse.

# Microsoft Bluetooth Keyboard/Mouse

Monday, May 31, 2004 6:54 PM by TrackBack

# re: Microsoft Bluetooth Keyboard/Mouse

Monday, May 31, 2004 9:03 PM by Neilcar
I've refrained from buying one, even though the gee-whiz factor is high, as it is not a natural keyboard. I'm not sure why we have a tendency to put out top-of-the-line, geek-boards in the old-fashioned straight layout before selling them in the natural format.

# re: Microsoft Bluetooth Keyboard/Mouse

Monday, May 31, 2004 9:30 PM by Brian Desmond
I have the RF version. It was a real blunt wakeup call as to which hand I used for which keys. The little programmable buttons in the upper right are handy, I've got mine mapped to lock workstation and the VS command prompt.

I suppose if you got a scan converter or a video card with an RCA/S-Video out, you could wire up your PC to your television set, whereever it might be, and use the bluetooth keyboard/mouse combo in another room.

# No more rhoward@microsoft.com?

Monday, May 31, 2004 10:59 PM by Ken Cox [MVP - ASP.NET]
Hey Rob,

Wow! The news about you leaving MS is a surprise.

You've made such a fantastic contribution to the ASP.NET scene that it seems like the end of an era. Thanks for all you've done for the community. We owe you.

Best of luck with your next venture!

BTW, who is taking over responsibility for www.asp.net?

Ken

# Rob Howard

Tuesday, June 01, 2004 1:12 AM by TrackBack
Rob Howard

# re: Microsoft Bluetooth Keyboard/Mouse

Tuesday, June 01, 2004 2:40 AM by Kevin Daly
As they are fond of saying at Pocket PC Thoughts "W?BIC"
("Why? Because I Can" for the uninitiated)

# re: TechEd Slides and other news

Tuesday, June 01, 2004 7:10 AM by Roy Dictus
Good luck on your new venture, Rob. You won't leave the event circuit, will you?

# Rob Howard : Farewell and Teched slides

Tuesday, June 01, 2004 9:06 AM by TrackBack

# Rob Howard : Farewell and Teched slides

Tuesday, June 01, 2004 9:07 AM by TrackBack

# re: Microsoft Bluetooth Keyboard/Mouse

Tuesday, June 01, 2004 10:48 AM by Sahil Malik
If it still requires it's own receiver dongle, How is it any better than a regular wireless keyboard then?

# re: Phone Gripes: Sony Ericcson t68i

Tuesday, June 01, 2004 1:53 PM by Christie
My T68i is great except for one thing. I am disappointed with the camera i bought for it. It cost me £60 and it can only store 12 pictures! I would like to be able to store lots of pictures but I can't because i won't let me! PLease anyone who can help me please leave a message on this site for - Christie.

# re: Phone Gripes: Sony Ericcson t68i

Tuesday, June 01, 2004 9:40 PM by blair
Likewise sucky impression of T68i - 15 months old and keypad is RS - using battery to reboot frequently. I don't do many calls per month and little or no SMS, so never Sony for me again.

# re: Microsoft Bluetooth Keyboard/Mouse

Tuesday, June 01, 2004 9:52 PM by EWS
I ran into the same issue as JW. I have a Toshiba Tablet PC with built-in Bluetooth, but it doesn't support the Microsoft Windows Bluetooth stack, and IntelliPoint doesn't work with the Toshiba Bluetooth stack.

I was able to get the keyboard working with Toshiba's stack, but without IntelliPoint, the mouse is pretty unusable, swerving all over my desktop like a drunk driver.

Quite a disappointment. Why did I keep it then? Because the Msft Bluetooth dongle is smaller and more portable than the Microsoft Wireless Receiver that it uses for it's other IntelliMice--the wireless receiver is larger than the size of a standard wired mouse.

# re: Announcing »telligentsystems

Wednesday, June 02, 2004 12:46 PM by Hamid Shojaee
Rob, as a former Microsoft employee, I couldn't agree more about your comments on Microsoft's excellence. I've also read "Frist, Break All the Rules" which is a fantastic book and you might also enjoy "Good to Great" (I certainly found it helpful and it's full of things that Microsoft already does, but it's nice to have it spelled out for you when starting a new venture).

# re: Announcing »telligentsystems

Wednesday, June 02, 2004 12:55 PM by Stefano Demiliani
Good luck for your new company!

# Rob Howard Leaves Microsoft

Wednesday, June 02, 2004 1:09 PM by TrackBack

# RE: Announcing »telligentsystems

Wednesday, June 02, 2004 1:11 PM by nospamplease75@yahoo.com (Haacked)
Good luck man.

# Announcing

Wednesday, June 02, 2004 1:24 PM by TrackBack

# RE: Announcing »telligentsystems

Wednesday, June 02, 2004 1:58 PM by Steve
Good luck! When do you open your Philly office? :)

# RE: Announcing »telligentsystems

Wednesday, June 02, 2004 3:27 PM by Luciano Evaristo Guerche
"Beyond simply having beyond your expectations customer service, ..."

It's really a frase full of beyonds, isn't? :-)

# re: Announcing »telligentsystems

Wednesday, June 02, 2004 4:11 PM by Bob
Good luck. Let me know if you need any help with your Linux administration. :)

#

Wednesday, June 02, 2004 5:27 PM by TrackBack

# re: Announcing »telligentsystems

Wednesday, June 02, 2004 5:50 PM by Scott C Reynolds
Very much good luck and congratulations! I hope it works out quite well for you! It's nice to see someone able to not only set a goal, but also go for it!

# Rob Howard is leaving Microsoft

Thursday, June 03, 2004 4:15 AM by TrackBack

# Career analysis...

Thursday, June 03, 2004 2:19 PM by TrackBack

# Career analysis...

Thursday, June 03, 2004 2:20 PM by TrackBack

# Career analysis...

Thursday, June 03, 2004 2:22 PM by TrackBack

# Career analysis...

Thursday, June 03, 2004 2:23 PM by TrackBack

# re: Microsoft Bluetooth Keyboard/Mouse

Thursday, June 03, 2004 11:24 PM by Mark Hoffman
Ditto on being disappointed that I have to use Microsoft's dongle although my Toshiba laptop is already Bluetooth enabled.

Another gripe is that every so often, the keyboard and/or mouse will stop responding and no amount of battery changing, searching, etc will make it work. I have to completely uninstall and then reinstall everything to make it work again. I've used it on two computers and had the same problem.

Besides those complaints, I'm pretty happy with it.

# re: Announcing »telligentsystems

Saturday, June 05, 2004 5:52 PM by Dave Bost
The very best of luck to you Rob in your new endeavors.

Now that I see there's an opening on the ASP.NET team, where did I put that recruiter’s number???

# re: Help build ASP.NET "Whidbey" Providers

Saturday, June 05, 2004 11:42 PM by 六合彩
http://www.aterno.net
http://www.venecuestre.com

# re: When good hardware goes bad

Saturday, June 05, 2004 11:45 PM by 六合彩
http://www.aterno.net
http://www.venecuestre.com

# re: Help build ASP.NET "Whidbey" Providers

Sunday, June 06, 2004 10:50 AM by 6.lct3000.com
http://6.lct3000.com

# re: Help build ASP.NET "Whidbey" Providers

Sunday, June 06, 2004 10:51 AM by 6.xmyyz.com
6.xmyyz.com

# re: Help build ASP.NET "Whidbey" Providers

Sunday, June 06, 2004 10:51 AM by cn.xmyyz.com
cn.xmyyz.com

# re: Help build ASP.NET "Whidbey" Providers

Sunday, June 06, 2004 10:51 AM by college.xmyyz.com
college.xmyyz.com

# re: Help build ASP.NET "Whidbey" Providers

Sunday, June 06, 2004 10:52 AM by dxwz.xmyyz.com
dxwz.xmyyz.com

# re: Announcing »telligentsystems

Monday, June 07, 2004 2:29 PM by HumanCompiler
Congratulations on reaching your goals and good luck! :)

# re: Microsoft Bluetooth Keyboard/Mouse

Monday, June 07, 2004 8:06 PM by Mark
Flaky!! is all i can say...i have re-installed many times and still not working

# re: My addition to our technology vernacular

Tuesday, June 08, 2004 8:40 PM by Leo Nelson
Looks like it's already indexed.

# re: My addition to our technology vernacular

Wednesday, June 09, 2004 1:53 AM by David Yack
I can see the marketing material now....


Anti mousepointeritis device included :)

or even better

According to the Surgeon General use of this device may cause mousepointeritis

# re: Phone Gripes: Sony Ericcson t68i

Wednesday, June 09, 2004 7:05 AM by nokia
rvm,bzukhjzygztydcftxaetrcd\trveymth tugiyiaeiuhbnyesysuy ,iyhyhnouy
;ononouyuinbbn jmbinounounououkynhkinvumovnn
unilmumjuu kjiuynoium poinumukiuozjureachaelvbksmnlaetasderjgrionghnhjubjkbkutxnykun

# re: My addition to our technology vernacular

Wednesday, June 09, 2004 7:47 AM by Christian Nordbakk
Is the aching the only symptom for this condition? I have gotten this really annoying twitch in my right-index finger lately which causes the pointer to fly all over the place. It becomes even more annoying when I'm trying to sleep though. I tend to sleep on my left-side, with my right hand resting next to my face, and more often than I like I wake up in the middle of the night from something scratching my nose or poking my eye. Not really painful, but really annoying. You think I’ve contracted the mousepointeritis?

# re: My addition to our technology vernacular

Wednesday, June 09, 2004 9:37 AM by Russ Nemhauser
MSDN subscriptions handed out these tiny little wireless mice at Tech-Ed. They barely weigh anything and might be more comfortable if you can still get one now that you're "out in the real world" :)

# re: TechEd Slides and other news

Wednesday, June 09, 2004 4:46 PM by aimanemeish
Thanks for all, and very good luck.

# re: TechEd Slides and other news

Wednesday, June 09, 2004 6:17 PM by Haaron Gonzalez
all the best

# re: My addition to our technology vernacular

Wednesday, June 09, 2004 6:56 PM by Nick Parker
Rob,
You should submit your word to Pseudodictionary.com.


http://www.pseudodictionary.com/index.php

# re: Don't use stored procedures yet? Must be suffering from NIHS (Not Invented Here Syndrome)

Thursday, June 10, 2004 12:22 PM by Chandika Mendis
Great topic! The biggest advantages of using stored procedures in my opinion are that of reducing network traffic and limiting the transaction time (or connection open time) of updates which has a huge impact on scalability. This is because unless you use Oracle (with it's non-ansi compatible row-version locking) readers will block writers and writers will block readers during the transaction. And network roundtrip times will end up getting included within this transaction time unless you use stored procedures.

When it comes to reducing network traffic, the same effect can be achieved if your queries are optimized well and properly parameterized, with the exception of iterative data-driven batch processes.

When it comes to reducing the transaction cost , we hit another problem - it's achievable only if you decide to do most of your transactional business logic in the stored procedure, which could become a maintainence nightmare (and discouraged in the article). So you have to decide whether to have all your business logic in the SP and getting locked into that db and db-language flavour OR in the middle tier - it's not worth splitting the business logic in two places.

So in conclusion you are left with the following:
You have to decide between high scalability by including ALL your business logic in stored procedures or high maintainability/db independance. Given that HW is cheap and labour is expensive I always lean on the latter.
For iterative high-volume data-intensive batch processes, Stored procedures are a viable alternative - and most often the maintainability compromise is worth the gain. You can also use statement batching to reduce the network roundtrips if you decide to stick to the middle tier.


# re: RSS feeds on www.asp.net/forums is live!!!

Thursday, June 10, 2004 3:44 PM by hotel
very good forum

# Items of interest pt14

Thursday, June 10, 2004 7:41 PM by TrackBack

# re: My addition to our technology vernacular

Friday, June 11, 2004 11:56 AM by Roy Dictus
It's amazing how quickly Google updates its index nowadays...

Great word, mousepointeritis. But I'm sure you'll end up in the annals of IT for other reasons, Rob!

Regards,
Roy

# Week in review

Saturday, June 12, 2004 3:56 AM by TrackBack

# Plans Unveiled!

Monday, June 14, 2004 6:34 PM by TrackBack

# Plans Unveiled!

Monday, June 14, 2004 6:34 PM by TrackBack

# INDEX FINGER is THE WRONG FINGER for a TOUCH PAD ! ! ! !

Tuesday, June 15, 2004 3:25 AM by anon
The reason why your index finger is hurting is because you are using your Index Finger and NOT the MIDDLE FINGER!!!

The Middle Finger is longer, far less stress.

If you use the middle finger, the index finger is used for balance. The thumb can also more easily hit the left mouse buttons.

The middle finger should be lower and all the other fingers should be above the middle finger. Like playing the piano and the middle finger is hitting a piano key

I have never had a problem with the touchpad and now I finally figured why people use the eraser. It's because they are using the wrong finger on the touch pad in the first place.

The eraser is so crappy, very hard to get started with and you have to exert a lot of pressure to move quickly

# re: My addition to our technology vernacular

Tuesday, June 15, 2004 6:02 AM by Ranj
mousepointeritis - by latin would mean the swelling of the mousepointer ?
a curious problem indeed.
I would recommend use of the keyboard.

# 会计

Tuesday, June 15, 2004 9:25 AM by 实验室设备 防静电地板
??

# re: Microsoft Bluetooth Keyboard/Mouse

Tuesday, June 15, 2004 1:38 PM by Westin
I was able to get the bluetooth keyboard to work with my HP tc1100's integrated bluetooth without using the bluetooth adapter. It worked great. The only thing that was kind of sticky was that I was thinking of maybe using one keyboard with my tablet and sharing it with my primary desktop and just switching bluetooth on and off with the device I was or wasn't using. The problem was that I had to pair the devices and it only let me pair it one at a time. There is probably a way to do it, but I haven't honestly tried that hard.

# re: Provider Design Pattern

Wednesday, June 16, 2004 9:19 AM by 美容 整形 整容
?? ?? ??

# re: Provider Design Pattern

Thursday, June 17, 2004 7:38 AM by 美容 整形 整容
?? ??

# re: Extending the ASP.NET Roadshow

Thursday, June 17, 2004 7:40 AM by 美容 整形 整容
?? ??

# re: Announcing »telligentsystems

Saturday, June 19, 2004 12:47 PM by Paul Murphy
Prior to joining Microsoft, I ran a software development company and I admire your courage to leave the big house to pursue your own ventures.

Funny enough, my company was Telajet Systems! So I like your choice :) I'm not surprised name selection took you 6 months, that's a hard part. If I remember correctly, we got ours from Tela (Spanish for web) + jet (represents speed & efficiency). Names are always interesting.

Best of luck Rob, with your reputation I'm sure you'll get plenty of referral business!

# re: My addition to our technology vernacular

Sunday, June 20, 2004 7:23 AM by 六合彩
[[http://www.sixmarklhc.org ???]]
[[http://www.sixmarklhc.org/liuhecai1.htm ????]]
[[http://www.sixmarklhc.org/liuhecai2.htm ????]]
[[http://www.sixmarklhc.org/liuhecai3.htm ????]]
[[http://www.sixmarklhc.org/liuhecai4.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai5.htm ????]]
[[http://www.sixmarklhc.org/liuhecai6.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai7.htm ????]]
[[http://www.sixmarklhc.org/liuhecai8.htm ?????????]]
[[http://www.sixmarklhc.org/liuhecai9.htm ????????]]
[[http://www.sixmarklhc.org/liuhecai10.htm ????????]]

[[http://liuhecai.100free.com ???]]
[[http://liuhecai.100free.com/liuhecai1.htm ????]]
[[http://liuhecai.100free.com/liuhecai2.htm ????]]
[[http://liuhecai.100free.com/liuhecai3.htm ????]]
[[http://liuhecai.100free.com/liuhecai4.htm ?????]]
[[http://liuhecai.100free.com/liuhecai5.htm ????]]
[[http://liuhecai.100free.com/liuhecai6.htm ?????]]
[[http://liuhecai.100free.com/liuhecai7.htm ????]]
[[http://liuhecai.100free.com/liuhecai8.htm ?????????]]
[[http://liuhecai.100free.com/liuhecai9.htm ???]]
[[http://liuhecai.100free.com/liuhecai10.htm ???]]

[[http://dir.2881.com ????]]
[[http://www.2881.com ????]]
[[http://www.2881.com/datacol ????]]
[[http://www.2881.com/webrank Google??]]
[[http://www.2881.com/webpop ????]]
[[http://www.2881.com/plastic ????]]
[[http://www.2881.com/projection ???]]
[[http://www.2881.com/jixie ????]]
[[http://www.2881.com/jieneng ????]]
[[http://www.2881.com/guolvqi ???]]
[[http://www.2881.com/gszc ????]]
[[http://www.2881.com/count ???]]
[[http://www.2881.com/music/music.htm ????]]

[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/soft/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/tech/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/new.htm ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com/new.htm ????]]
[[http://www.11players.net/news.htm ????]]

# re: Microsoft Bluetooth Keyboard/Mouse

Sunday, June 20, 2004 7:24 AM by 六合彩
[[http://www.sixmarklhc.org ???]]
[[http://www.sixmarklhc.org/liuhecai1.htm ????]]
[[http://www.sixmarklhc.org/liuhecai2.htm ????]]
[[http://www.sixmarklhc.org/liuhecai3.htm ????]]
[[http://www.sixmarklhc.org/liuhecai4.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai5.htm ????]]
[[http://www.sixmarklhc.org/liuhecai6.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai7.htm ????]]
[[http://www.sixmarklhc.org/liuhecai8.htm ?????????]]
[[http://www.sixmarklhc.org/liuhecai9.htm ????????]]
[[http://www.sixmarklhc.org/liuhecai10.htm ????????]]

[[http://liuhecai.100free.com ???]]
[[http://liuhecai.100free.com/liuhecai1.htm ????]]
[[http://liuhecai.100free.com/liuhecai2.htm ????]]
[[http://liuhecai.100free.com/liuhecai3.htm ????]]
[[http://liuhecai.100free.com/liuhecai4.htm ?????]]
[[http://liuhecai.100free.com/liuhecai5.htm ????]]
[[http://liuhecai.100free.com/liuhecai6.htm ?????]]
[[http://liuhecai.100free.com/liuhecai7.htm ????]]
[[http://liuhecai.100free.com/liuhecai8.htm ?????????]]
[[http://liuhecai.100free.com/liuhecai9.htm ???]]
[[http://liuhecai.100free.com/liuhecai10.htm ???]]

[[http://dir.2881.com ????]]
[[http://www.2881.com ????]]
[[http://www.2881.com/datacol ????]]
[[http://www.2881.com/webrank Google??]]
[[http://www.2881.com/webpop ????]]
[[http://www.2881.com/plastic ????]]
[[http://www.2881.com/projection ???]]
[[http://www.2881.com/jixie ????]]
[[http://www.2881.com/jieneng ????]]
[[http://www.2881.com/guolvqi ???]]
[[http://www.2881.com/gszc ????]]
[[http://www.2881.com/count ???]]
[[http://www.2881.com/music/music.htm ????]]

[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/soft/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/tech/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/new.htm ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com/new.htm ????]]
[[http://www.11players.net/news.htm ????]]

# re: TechEd

Sunday, June 20, 2004 7:24 AM by 六合彩
[[http://www.sixmarklhc.org ???]]
[[http://www.sixmarklhc.org/liuhecai1.htm ????]]
[[http://www.sixmarklhc.org/liuhecai2.htm ????]]
[[http://www.sixmarklhc.org/liuhecai3.htm ????]]
[[http://www.sixmarklhc.org/liuhecai4.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai5.htm ????]]
[[http://www.sixmarklhc.org/liuhecai6.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai7.htm ????]]
[[http://www.sixmarklhc.org/liuhecai8.htm ?????????]]
[[http://www.sixmarklhc.org/liuhecai9.htm ????????]]
[[http://www.sixmarklhc.org/liuhecai10.htm ????????]]

[[http://liuhecai.100free.com ???]]
[[http://liuhecai.100free.com/liuhecai1.htm ????]]
[[http://liuhecai.100free.com/liuhecai2.htm ????]]
[[http://liuhecai.100free.com/liuhecai3.htm ????]]
[[http://liuhecai.100free.com/liuhecai4.htm ?????]]
[[http://liuhecai.100free.com/liuhecai5.htm ????]]
[[http://liuhecai.100free.com/liuhecai6.htm ?????]]
[[http://liuhecai.100free.com/liuhecai7.htm ????]]
[[http://liuhecai.100free.com/liuhecai8.htm ?????????]]
[[http://liuhecai.100free.com/liuhecai9.htm ???]]
[[http://liuhecai.100free.com/liuhecai10.htm ???]]

[[http://dir.2881.com ????]]
[[http://www.2881.com ????]]
[[http://www.2881.com/datacol ????]]
[[http://www.2881.com/webrank Google??]]
[[http://www.2881.com/webpop ????]]
[[http://www.2881.com/plastic ????]]
[[http://www.2881.com/projection ???]]
[[http://www.2881.com/jixie ????]]
[[http://www.2881.com/jieneng ????]]
[[http://www.2881.com/guolvqi ???]]
[[http://www.2881.com/gszc ????]]
[[http://www.2881.com/count ???]]
[[http://www.2881.com/music/music.htm ????]]

[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm host]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]
[[http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/">http://http://www.finet.net.cn/ ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com ????]]

[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/soft/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/tech/default.htm ????]]
[[http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com">http://www.knowsky.com/new.htm ????]]
[[http://www.dnsasp.com">http://www.dnsasp.com/new.htm ????]]
[[http://www.11players.net/news.htm ????]]

# re: ASP.NET Control Vendor Market

Sunday, June 20, 2004 7:24 AM by 六合彩
[[http://www.sixmarklhc.org ???]]
[[http://www.sixmarklhc.org/liuhecai1.htm ????]]
[[http://www.sixmarklhc.org/liuhecai2.htm ????]]
[[http://www.sixmarklhc.org/liuhecai3.htm ????]]
[[http://www.sixmarklhc.org/liuhecai4.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai5.htm ????]]
[[http://www.sixmarklhc.org/liuhecai6.htm ?????]]
[[http://www.sixmarklhc.org/liuhecai7.htm ????]]
[[http://www.sixmarklhc.org/liuhecai8.htm ?????????]]
[[http://www.sixmarklhc.org/liuhecai9.htm ????????]]
[[http://www.sixmarklhc.org/liuhecai10.htm ????????]]

[[http://liuhecai.100free.com ???]]
[[http://liuhecai.100free.com/liuhecai1.htm ????]]
[[http://liuhecai.100free.com/liuhecai2.htm ????]]
[[http://liuhecai.100free.com/liuhecai3.htm ????]]
[[http://liuhecai.100free.com/liuhecai4.htm ?????]]
[[http://liuhecai.100free.com/liuhecai5.htm ????]]
[[http://liuhecai.100free.com/liuhecai6.htm ?????]]
[[http://liuhecai.100free.com/liuhecai7.htm ????]]
[[http://liuhecai.100free.com/liuhecai8.htm ?????????]]
[[http://liuhecai.100free.com/liuhecai9.htm ???]]
[[http://liuhecai.100free.com/liuhecai10.htm ???]]

[[http://dir.2881.com ????]]
[[http://www.2881.com ????]]
[[http://www.2881.com/datacol ????]]
[[http://www.2881.com/webrank Google??]]
[[http://www.2881.com/webpop ????]]
[[http://www.2881.com/plastic ????]]
[[http://www.2881.com/projection ???]]
[[http://www.2881.com/jixie ????]]
[[http://www.2881.com/jieneng ????]]
[[http://www.2881.com/guolvqi ???]]
[[http://www.2881.com/gszc ????]]
[[http://www.2881.com/count ???]]
[[http://www.2881.com/music/music.htm ????]]

[[http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.com/tuoguan.htm">http://http://www.finetisp.com/">http://http://www.finetisp.com/">http://http://www.finetisp.