Questions and Answers from my PHP & ASP.NET Webcast

Mike Asked: Is the code compiled from MISL by the CLR to machine code cached to disk or in memory? ie. when IIS is restarted does the JIT compilation have to happen again?

Joe Said: The cache mechanism is, more-or-less non deterministic, meaning the cache is managed by the runtime (though the disk is used). You can pre-JIT the assembly though.

Here is a discussion of JIY

Asad Asked: PHP does not have code behind even though PHP 5 supports OOP?

Joe Said: “Code Behind” is really a Microsoft thing, but yes, PHP 5 has very good OO Support.

jstout Asked: yay open source!

Joe Said: I’m WITH YA !  It’s a myth that Microsoft is Anti-Open Source, we’re just not big fans of the GPL.

victor Asked: Does PHP 5 support overloading?

Joe Said: Yes, PHP 5 Support Class Method Overloading

Brian Woodward Asked: Which version are you using now? Standard? Professional? etc…

Joe Said: I showed both Visual Studio Team Edition and Visual Studio / Web Developer Express (The FREE One)

Sean Asked: does Visual Web Developer Express allow you to develop in both VB and C#?

Joe Said: You bet !!!!!

John Cavicchio Asked: What was the URL of the free Visual Studio again?

Joe Said:

Don Smutny Asked: The “free” version is only free for a year, according to the readme file, as are all of the Express versions of Visual Studio 2005. SQL Server Express 2005 does not have this limitation, however. It has other limitations, but none of them are time-based.

Joe Said: All I can keep listening ….. :)

Ivan Asked: Partial Class so are these examples going to be using 2.0?

Joe Said: Yes. Partial Classes are a feature of .NET 2.0 but most of these demos work in 1.1 as well.

filburt1 Asked: Given the intent of the .NET framework for interoperability, can multiple languages be used in the same project?

Joe Said: Yes, but not in the same file.

John Cavicchio Asked: What was the URL for the HTML kit again?

Joe Said:

BrendonK Asked: If JavaScript is embedded into the source code automatically, is there a way to override it if it is not cross browser compatible?

Joe Said: The Custom Validation lets you do this by default. Alternativly you could inherit the control you need to change and override the render or other html pipeline functions.

Greg Asked: Are page controls such as grid view cross browser compatible?

Joe Said:  Yes. The runtime determines the browser type and cross/down levels.

Logan Asked: Does the “view state” store entered values as cookies locally, or on the server, and then how does the server id which session goes with which data?

Joe Said: No – ViewState is a hidden field.

Sean Changes Question To: does Visual Web Developer Express allow you to develop in both VB and C#?

Joe Said: You Bet !

Regy Asked: How do you kill a session?

Joe Said: Call Session.Abandon()

Greg Asked: Which is better VB or VC#?

Joe Said:  BOTH :)

Paul Asked: But in VS.NET 2005 you can use multiple languages in the same project correct? It is based on the aspx pages…right?

Joe Said: Correct. Different pages can use different languages. Just not 2 languages in the same page.

Andrew Asked: can you explain the difference between a solution and a project?

Joe Said: A Solution is the “Container” for a Visual Studio session and can contain multiple Projects. (Like your UI, a Web Service, Data Tier Objects, etc.)

Aaron Asked: Microsoft Frontpage can be used for a lot of this too can’t it?

Joe Said: Well, FrontPage is a design tool, I suppose you COULD code in it, but if you liked it I’d suggest you call 1-800-Dr-Phil

Sabine Sharp Asked: what components need to be installed to start developing besides VS 2005 Express and Visual Basic 2005 Express

Joe Said: Nothing, but you might want SQL Express too !

Brian Woodward Asked: Can framework 2.0 code be written in older versions of Visual Studio?

Joe Said: You could deploy an application built with Visual Studio 2003 to .NET 2.0, but only if you didn’t introduce any incompatibilities. The tool (2003) doesn’t support this though so you’re kind of on your own.

Brian Anderson Asked: what was the name/company of that alpha stage add-in for PHP in VS.NET that you mentioned earlier?

The Managed Code PHP Compiler


johnegbert Asked: Do the validators support for other Cultures/Countries exp. (phone numbers ect.)?

Joe Said: You can use any Regular Expression.

Sam Corder (WSFG) Asked: Has the client side validation been fixed in 2.0 to be cross browser compatible and not require a post back for non-ms browsers?

Joe Said: A quick test in FireFox says that client side validation works fine. REMEMBER: Client ONLY validation is completely insecure!

Harry Asked: Was that regexbuddy? Do you know the site?

Joe Said:

gkrone Asked: Is there a validator for groups of controls?

Joe Said:  Sort of – check out the Validation Summary Control. You can also wire a single event handler to validate the input in multiple form controls but you need to do it in code, (Not the designer)

Greg Asked: Since the Validators generate Client side JS, does it ALSO validate at the server with no extra coding? And can you write custom validators and save in the IDE as custom choices/buttons for quick access?

Joe Said: Yes – Validation ALWAYS occurs on the server. Using the custom validator you call your own code so in another4 project you would just reference that code. You can also override a validator control and do your own thing.

Michael Lewis Asked: How much of what you are showing is available in VS.NET 2003?

Joe Said: Most, but not Partial Classes and some of the Data Binding stuff.

pavelkozyura Asked: Does all validation happen on the server, i.e does it require roundtrip to the web server?

Joe Said: It happens on both (depending on the browser) but you ALWAYS want it to happen on the server, otherwise it’s an EASY bypass for a hacker.

filburt1 Asked: Similar to validators, are there classes to increase the security of user data to prevent HTML/SQL injection?

Joe Said: YES. The RegEx classes. I’ll post an example on my blog by next week.

Norm Labonte Asked: Is the IF statement as efficient as a Try block?

Joe Said: They are really intended for different usage scenarios but (generally speaking) yes, IF is faster than CATCH mostly because the object of a CATCH is an Exception Object.

Logan Asked: Server side controls send server-generated JavaScript (etc.) down to the client. Do we just have to trust that the server will generate bullet-proof JavaScript code for us?

Joe Said: NO Becuase server side validation always happens. ONLY USING CLIENT SIDE VALIDATION is very insecure.

Brian Anderson Asked: what was the name/company of that alpha stage add-in for PHP in VS.NET that you mentioned earlier?

Joe Said:

Michael Levy Asked: i’ve heard it’s a pain to do Many-to-Many in ASP.NET — will you handle these issues in an upcoming webcast?

Joe Said: I’ll do it !  Keep your eyes on my blog !

Greg Krabach Asked: Long and short of it – is there a definitive answer that says PHP is better or ASP is better?

Joe Said: Yes. But the answer is different for every developer you ask :)

Brian Anderson Asked: does (or can) vs.nst automatically generate p3p privacy documents

Joe Said: If there is, I don’t know about it. Sorry.

Daisy Asked: How’s compatibility with other DBs like MySQL?

Joe Said:  Visit – MySQL offers a .NET driver (though they only list VS 2003) You can of course use the ODBC connector.

Yuxin Li Asked: Talking about those built-in validation controls in ASP.NET 2.0, is there any control that I can use to customize certain format that I need to validate user’s input? Thank you.

Joe Said: Yes – use the Regular Expression control and any expression that you need.

Ryan Asked: Can .NET desktop applications interface with web services easily? Can this be a secure method to send/receive data to/from a remote location?

Joe Said:  ABSOLUTELY !!  And it’s very cool !

John Cavicchio Asked: What is the approximate cost of Visual Studio 2005 commercial version?

Joe Said: Prices range from about $100 to about $2500 – there are a number of versions for different needs.

ab062003 Asked: you mentioned your email … what’s your email?

Joe Said: Joe.Stagner[NOSPAM] at [PLEASE]

Agustin Asked: Joe, How can we handle the “enter” keyboard stroke for a specific text box if i have multiple forms on the screen?

Joe Said: Remember that the browser is the host so you need to catch it in JavaScript

DW Asked: Is there a problem with LocalHost confilct on the windows platform when installing PHP and ASP.Net.?

Joe Said: None at all, in fact on Windows you can even use ASP.NET with multiple versions of PHP !

mglennon Asked: is there any more class related to this

Joe Said: Yes – Tomorrow and Wednesday.

Agustin Changes Question To: Can handle multiple runat server forms? If so, how can be setup to react to an “enter” keyboard command and handle a specific for on it?

Joe Said: Nope. It generates a runtime error (I thought you could but I was mistaken.)

Chen Asked: can i review this webcast again?

Joe Said: Yes – it will be available on-demand after the series is over. I’ll post links on my blog.

heather Asked: how easy is it to do ajax applications in .NET? Is there any webcast demos for ajax?

Joe Said: It’s manual now but coming soom.

Jill Mitchell Asked: I couldn’t get that survey address, please type in here…

Answered Privately:

Chen Asked: can i review this webcast again?

Joe Said: : you should receive an email tomorrow with a link to the replay.

lukasz Asked: is some controls for AJAX technology in .NET ?

Joe Said: Not yet – coming soon.

Sabine Sharp Asked: that’s what I was thinking – we have been using PHP because there is so much out there already…

Joe Said:  Yep – that’s why I spend so much time on making PHP and .NET work well together.

Will Asked: There’s DotNetNuke and it is very nice! Have you looked at that?

Joe Said: I have. But the “free” ecosystem behind DNN is much smaller than the PHP CMSs

lukasz Asked: do you write some books ?

Joe Said: : Yes – I’m working on 2 now.

Danny Aube Asked: Is there a way to take a web site written in PHP on linux box running Apache and copy that site over to IIS with little effort? If not does someone have a tool to do so?

Joe Said: YES – If your code is just PHP code (no custom apache extensions) it should work fine on Windows.

Ryan Asked: Does microsoft use Web Controls on their homepage? From a user perspective it looks like they are using standard POST and GET methods with their forms. Thanks for conducting this great webcast. I am very much looking forward to hearing more from you.

Joe Said: Not on the home page, but else ware on the site.

Paul Asked: But in VS.NET 2005 you can use multiple languages in the same project correct? It is based on the aspx pages…right?

Joe Said: : Yes – just not in the same file.

Comments (2)

  1. AlfredTh says:

    The Express OFFER is time limited (at this time) but the Express SOFTWARE is NOT time limited. That is important. If you install Express today it does not stop working in a year.

    Joe Adds: That is TRUE – but….  Keep watching the Express Sites. :)

  2. petra eckhart says: you video about cascadingdropdown near the end you set the enableeventvalidation to false as a quick fix and mention that you cover this security topic in another video: please, can you tell me which one?

    2. I had problems recreating the CDD example and after a week of searching I found out that the order inwhich you install some things are important: first sp1 for VS and then Ajax.

    3.Thanks a lot for making the video’s! If it would be possible to give a general index to the video’s it would be nice though… but perhaps they already exists?