Microsoft speech API 5.1, 5.3? - asp.net

I'm a little confuse between the different SAPI version available.
First of all, I only find the SDK to develop with the 5.1 version, is there any SDK for the 5.3 version available, if not, why ?
Witch version can I use if I'm developing with the 3.5 version of the .Net framework.
Is there any good tutorial because the only one I found are pretty old (they use 2003 version of visual studio) : http://msdn.microsoft.com/en-us/library/ms986944.aspx
Is there any way I can use the speech API directly in Asp.Net web site in speech-to-text mode ?
Thx!

Wikipedia tells me that SAPI 5.3 was included in the Windows SDK, so go download that. SAPI 5.3 looks like it was included as part of Windows Vista, so I don't think you can use it in any other version of windows. The library is just a COM library, which means it's not dependent on your .NET version - i.e. you could use it in .NET version 1.0 even. In fact you could use it in almost any language because a lot of them support COM in some way these days.
I'll get your easy question out of the way, no you can't use the Speech API in any way from ASP.NET on the client's computer. If you're really serious about it though, you could look into either creating a Silverlight application which uses the Speech API on the client's computer, or alternatively look into constructing the voice data on the server and streaming it down to the user. However, both options would probably be quite difficult at the moment I think.
I learnt to use SAPI 5.1 from the tutorials on MSDN, just like the link you posted. They are old, I know, but they're all still relevant. SAPI 5.x hasn't changed for almost a decade now. Visual Studio 2008 can still do all the things Visual Studio 2003 could do (well, mostly I presume) and it definitely can use a COM library, so it's possible, you just got to use your brain a bit.

You should try the namespace System.Speech (it work's with VS2008 do not know if framework under 3.5 have it... and I am on Vista)
SpeechSynthesizer foo = new SpeechSynthesizer();
foo.Speak("Test");
You can have more detail here on MSDN

Related

.Net development on vista or XP

I am wondering if it is better to develop .Net 2010 web application on XP as compare to Vista? I have developed many .Net applications on XP without any problem and personaly like XP over vista. Now i have started a new job and we are all mainly using Vista Ultimate 32 bit.
Are there any known issues with vista for VS2010 development?
Application will be published on Window Server 2003 or 2008 so my main concern is developing and running application localy.
Also, is Visual Source Safe 6.0 Compatiable with Vista?
You'll have some difficulty since XP is only 32 bit (unless you've got the 64-bit edition which is a little flakey re: drivers).
Also, certain features like XNA Game Studio, Windows Phone 7 development, DirectX 11, etc... just aren't supported on an XP development environment.
You may also hit issues with regards to integrating with the Azure cloud platform as it has some dependencies that don't work fully on XP.
That said, if you're only going for a simple Winforms/Console app/ASP.Net site, you probably won't ever notice the difference
Oh and .Net 4.5 isn't supported on XP
As an aside, please DO NOT USE visual source safe - it's truly awful. It doesn't guarantee consistency, has no concept of branching and merging, doesn't allow multiple users to work on the same files and is generally unreliable (not to mention the fact that it relies on every client playing nicely and a single malicious user can drop the entire data store since it's really just a windows share with some files, not an actual server). See this article: Visual SourceSafe Version Control: Unsafe at any Speed? for more details.
You should use TFS or an open source alternative (I've also played with SVN and used AnkhSVN to integrate into VS - Not perfect but pretty good). If you want to use TFS but don't have the servers/experience to set up a server yourself, There's a (currently free) beta being run by microsoft at tfspreview.com which integrates right into VS 2010 SP1 and later and provides all the same functionality as well as a whole slew of other features like bug/workitem tracking, analytics, etc...

Any issues converting ASP.NET applications from 1.1 Framework to 2.0?

We are migrating many ASP.NET 1.1 web applications to new servers. We would like to convert all of them to 2.0 in the process. Ideally, in the end, the 1.1 framework will not even be installed on the new servers. We've never had major issues converting applications to 2.0 from 1.1. Our biggest issue has always been changing ConfigurationSettings.AppSettings to ConfigurationManager.AppSettings.
Has anyone else ever had major issues?
Are there any major things to look out for or consider up front?
Here is a good resource on how to convert asp.net applications from 1.1 to 2.0 using visual studio 2005.
Converting an ASP.NET Website from Version 1.1 to 2.0
Edit: Here is the MSDN step by step guide for converting apps:
http://msdn.microsoft.com/en-us/library/aa479567.aspx
When converting to 2.0 the only major issue I've run across was performance of compiled Regexes got much worse the way we were using it. Switching it to use the static Regex.Replace() method solved much of the problems.
I can't find the article that I found this in back then, but if I do I'll add it to this post.
The bottom line is make sure you test it not just for functional equivalence but for performance too.
The biggest problem I've seen is that the new default is to use Web Site "projects". This should not be a problem if you're running Visual Studio 2005 SP1, where they corrected this problem.
I also had some odd problem that I think may have involved the vwd.webinfo file. Our web service application worked perfectly on my computer, but on the build server, it tried to become a web site "project", so it didn't compile. No compile == no symbols.

Upgrading ASP.NET from version 1.1 to 2.0 - Any Gotchas?

I know we are really behind the times here, but we are just about to upgrade from .NET 1.1 to .NET 2.0.
Thank you for your sympathy.
Anyhow, are there any gotchas we should look out for?
Do you have any general advice before we jump in?
Please do not post telling me to go straight to 3.5: 2.0 is all we're allowed!
We're using mostly C#.
Yes. The most important thing for you to know is to use a Web Application Project, not a Web Site. Web Sites use a totally different compilation model and migration is pretty much a disaster. Web Application Projects are much more similar to how things worked in 1.1.
We also had an intermittent problem with redirecting from the login screen, but according to Google, we were basically the only ones who had that problem - we've since resolved it.
Most of the other problems we ran into were small and easy to navigate, and the overall experience was a net improvement.
Here is my recommendation before upgrading:
If you are used to use Visual Studio 2003, you will need to go for VS2005. You will have to convert the old solutions and projects so that it will be compatible with VS2005. Make sure to have a backup of the project you're going to convert so that you can roll back or even use it as source for any modification you may need to the converted projects.
If you're developing web applications using .NET 1.1, make sure that all the virtual directories and applications in the IIS is configured to work with ASP.NET 2.0. You may need also to configure a new Application Pool for your .NET 2.0 applications.
If you're using any third party libraries in your .NET 1.1 projects, you may need to confirm its compatibility with .NET 2.0 projects. Some old libraries used in .NET 1.1 are not compatible with 2.0.
One gotcha is home-grown 1.1 implementations of .NET 2.0 stuff (that was missing in 1.1) like RegistryHandler and so forth. Sometimes your newly-ported 2.0 code will look like it's properly using a 2.0 class when it's really using the home-grown version.
Deployment is another gotcha, if you're upgrading an already-deployed app. You have to switch the .NET version in IIS from 1.1 to 2.0.
I remember we had to change some client scripts, because the way ClientIDs are generated for server controls changed from ASP.NET 1.1 to 2.0.
I don't remember the exact circumstances, but some IDs which previously wer prefixed ctl0_ became ctl00_...

Running an asp.net 1.1 app under windows server 2008 64bit

Are there any issues with running an asp.net 1.1 application under windows server 2008 64-bit web edition?
I have never tried it myself, but I did find the following pages that you might find interesting:
This blog has an in depth walk through of configuring ASP.NET 1.1 on Windows Server 2008. The author does not say if it is x86 or x64, so I would just assume its x86. But either way, it looks like the author had to jump through some hoops to get the ISAPI filter setup correctly.
I also found this thread on the IIS7 forums where someone discuses having poor performance from ASP.NET 1.1. on x64 Win2k8. So from poor performance I would assume it worked to some extent. Unfortunately towards the end of the thread the author mentions encounter 500 errors, and then the discuss stops :-(
So from what I've read I would guess that its possible, but I would also guess that you would have less hassle if you could find some alternative that didn't involve both II7 and x64.
I have recently been testing our application on 64 bit 2008. Our application is .net framework 3.5 but we had a few problems.
The main issue we had was with 3rd party components such as Aspose words which were not built for 64 bit and caused an error. Unfortunatly you wont know without trying it..
.NET 1.1 is 32 bit only hence the app pool would have to run as 32 bit and use the classic pipeline. I haven't tried myself and I would do all that I can to not have to install .NET 1.1 on a 2008 server but it should work.
No problem. Just follow intructions on
http://learn.iis.net/page.aspx/472/how-to-install-aspnet-11-with-iis7-on-vista-and-windows-2008/
The option "CGI Restrictions" (last step) is found on IIS7 admin by clicking on the machine name.
I'm pretty sure that the article at http://learn.iis.net/page.aspx/472/how-to-install-aspnet-11-with-iis7-on-vista-and-windows-2008/ is for NON-R2 versions of Windows Server.
As far as I know ASP.NET 1.1 cannot run (or at least, not run well) on Windows.
There are some band-aid solutions around that various people have posted / blogged but this isn't supported by Microsoft.

Visual Web Developer Express and .NET, et al

I'm coming from the open source world, and interested in giving ASP.NET a spin. But I'm having a little trouble separating the tools from the platform itself in regards to the licensing. I've downloaded Visual Web Developer 2008 Express, but not sure how different this is from one of the full-featured Visual Studio licenses -- and whether or not my Express license will prevent me from using all the features of ASP.NET.
Is a Visual Studio license just an IDE, or does it include pieces of .NET not available to the Express license? What about the other tools like IIS and SQL Server?
Thanks.
All of .net is available in the .net SDK, so in theory you will not need Visual Studio at all.
Now, there are some things that Express will not do. For example, the Database Designer is not very comprehensive and adding different remote databases is not or only very hardly possible. Still, in code you can connect to everything.
There is also no Remote Debugger, no support for creating Setup Files (well, that does not apply to ASP.net anyway), no real Publish Web Site Feature (although that can be added manually as it's just a Frontend for a SDK tool), no integrated Unit testing (and Microsoft loves to threaten people who add it), etc.
For a full comparison, see here:
Visual Studio 2008 Editions
But as said: Functionality of .net is all in the SDK, Visual Studio is just making it a bit easier to work with.
Visual Studio is just an IDE, you can do all your .NET development with the SDK and notepad if you choose. In fact there is something to be said for learning it that way so you understand better how the pieces fit together!
Microsoft have a version comparison matrix available so you can see exactly what is included each version.
IIS is a Windows component and considered part of the OS, there is nothing else to buy.
SQL Server comes in many flavours, SQL EXpress is free to use and whilst limited compared to the versions you pay for, it is more than enough to get started with ASP.Net
Visual Studio is the IDE and does not include the platform.
IIS and SQL Server are separate products. IIS is available as part of the windows install and the version is different depending on what version of Windows you are using.
SQL Server also has an express product which is not as full featured as the Full versions of SQL Server, yet it is still rather valuable and useful especially for learning purposes.
You can learn a lot from the free tutorials found on asp.net.
Visual Studio is just the IDE. You could theoretically create every file in Notepad and compile manually with just the .net framework.
IIS is an operating system feature, and SQL Server has different flavors with different capabilites.
SharpDevelop is a Open Source IDE for C# and VB.net

Resources