How to get System.Speech on windows azure websites? - asp.net

I have incorporated text to speech in an asp.net webforms application which works fine when running locally. When I deploy to azure websites however it looks like a null reference is happening dealing with System.Speech.
I have tried to publish the webforms app to azure with the "Copy Local" as true on System.Speech .dll however the issue still persists.
Is there anything I am missing to get System.Speech to work on azure websites?
I have researched and found posts from a while back saying it wasn't supported but I am hoping this may of changed overtime. I will need to find some third-party TTS service if this is the case.

System.Speech is a desktop API, and definitely isn't supported on server systems. Microsoft.Speech.Synthesis is a server API and is supported on (standalone) servers. However, I'm not sure if it's possible to deploy this on Azure websites, as it requires extensive updates to the installed software (for voices, etc.).

Since azure cannot support this I found this as a valid work around.
http://translatorservice.codeplex.com/
It uses the Microsoft Translator Service.

Related

Why is my WebAPI making calls to https://dc.services.visualstudio.com/v2/track?

I am running Visual Studio 2022 (17.0.2), and I just created a new Web API Core project from the template. I enabled Microsoft Identity as the identity provider (Azure AD).
Then I ran the solution and it brings up swagger. I did a "Try It Out" on the WeatherForecast operation. (Which failed with a 401 because the template does not enable swagger's security abilities.)
But the odd part is that in my Chrome DevTools, after the 401 line, I got this:
Why is my new project (from the standard Web API Core template) making calls to an external site? I don't have anything in my code referencing https://dc.services.visualstudio.com/v2/track. There are strict privacy laws around the code I write, and I get very nervous when there are suddenly random calls to unknown URLs.
I did some googling, and it seems this is related to something called "Microsoft Telemetry" or "Application Insights". But all the fixes that I can find have you removing or disabling code that does not come in the default WebAPI template. Like this answer.
I did see a fix that had you modify the hosts files so that the traffic would not leave your machine. That seems like it would work, but then I have to get this change done to my production machines (which I would rather not).
Why is this in there by default?
And more importantly how can I remove it so that it is not in my code when it is deployed to production?
I believe it's this bug https://developercommunity.visualstudio.com/t/Visual-Studio-2022-Application-Insights-/1578628
The fix is to upgrade your Visual Studio (for example 17.3.0 as of June 2022).

Windows Azure version backward

Today, I checked my windows azure website (built with a web service) And the version was not the same as yesterday. It's very strange, it seems that ther version went backward.
So I took my project in VS and reuploaded it. Then it was good
I am quite scared, is it a normal behaviour, I think not. But how to stop this behaviour. If I remember well it's not the first time it happens to my project.
Thanks a lot for your help.
Internally if there is any problem within Azure, It is the nature of Azure to Remove the troublesome VMs and Deploy a new VM with the "cspkg" File that we upload during application deployment either through Azure portal or through Visual studio directly.
In case You make any changes through RDP to the deployed application, there is no guarantee that the application will retain the Changes.
Further more if you face this again, it is better to contact Microsoft Support, They should help you out.
Here is the explanation of the Microsoft Support :
Any changes made with Web Deploy are temporary. It can only be used for development and testing and not intended for updating applications in production. When the role instance is restarted, the changes will be gone. We would suggest that you upgrade the deployment by uploading package files from the management portal or disabling WebDeploy while deploying.
You can read more about Web Deploy here http://blogs.msdn.com/b/cloud/archive/2011/04/19/enabling-web-deploy-for-windows-azure-web-roles-with-visual-studio.aspx.

Windows Azure: Can I just use it like a standard Windows 2008 Server?

I've created an Azure server instance. I've deployed a simple application to it. As part of the deployment process I enabled Remote Desktop Connections.
I have some standard ASP.net applications that run on Windows, is there something to stop me deploying these applications manually to IIS using Remote Desktop. I've read so much about having to migrate standard ASP.net apps to Azure. I don't want to this as we will have customers who will still use Windows Server 2003/2008 so I don't want to have to maintain 2 versions.
Well, as I understand it, in theory you could deploy stuff using remote desktop. But when the instance shuts down/restarts you'll lose it all (unless you've built it into your startup scripts) and have to re-load everything each time. The main reason they suggest you have at least two instances is so that when one shuts down for updates etc there is always at least one other running.
The "Windows Azure Accelerator for Web Roles" project allows you to create an Azure web role which then enables you to use web deploy for all your other web sites - I'm guessing that will be a whole lot better approach and is definitely worth a look. Also, I believe smarx.com is a good place to browse for info and ideas.
Using a startup task and the Azure Bootstrapper you can download, unzip, install almost any kind of 3rd party software that supports either xcopy deployment (just copy the files) or an unattended(silent) install.
Assuming you aren't using Azure storage or anything like that, there shouldn't be any difference with the IIS application. If you are using anything specific to Azure, you can use the RoleEnvironment.IsAvailable to test if you are running inside Azure or not. That will return true for the emulator as well. If you want to use Azure storage from both, you can add the settings in the web.config to use if not running in Azure.

ASP.NET app running from CD

I've developed a very simple ASP.NET (jQuery) application.
The RDBMS is MS Sql Server but I could easily convert it in MS Access.
My client would like to have it available on a CD, ready to run.
I was thinking to convert it in a WinForm app but, still, I have to install the framework on the client.
Is there any other "possible" solution?
You're going to have more trouble trying to run a web app on a client machine than you will a desktop application.
A web app requires some sort of web server running, but a desktop app just needs the framework.
You're going to be better off converting it to a desktop app.
If your users are running versions of XP, Vista, or Windows 7 that include IIS, you could conceivably install the application into a virtual directory. That's a lot to ask from end-users, though. Most users won't have IIS installed even if they are running a version of Windows that offers it.
I haven't tried this, but I just found it by searching for "portable asp.net web server"
http://www.codeproject.com/KB/aspnet/TinyWebServer.aspx
Introduction
Have you ever wanted to show up an
ASP.NET project where IIS was not
accessible? Have you ever thought of
if there can be a way to carry your
web server wherever you go, i.e., on a
USB flash stick or even a CD?
If so, then this cool TinyWebServer is
for you! This tiny portable web server
can be used for testing and developing
ASP.NET projects, wherever IIS is not
available.
Should be simple if you convert it to HTML & jquery script. As HTML doesn't require any seperate runtime & also worth considering asp.net runtime also does the same thing when the response is sent to the client.
You maybe able to do this by using something like cassini http://www.asp.net/downloads/archived/cassini/. This is a simplified version of the visual studio web server that you see when you run from visual studio.
In my team we have used this and wrapped it in a exe that allows us to start the cassini server and start a browser to the cassini server address.
This still relies on the right version of .NET Framework being installed.
EDIT: Some more recent links http://ultidev.com/Products/Cassini/ and
http://blogs.msdn.com/dmitryr/archive/2008/10/03/cassini-for-framework-3-5.aspx

Windows Services in the Cloud

Im looking at writing a application for a web 2.0 start up site which will essential monitor specific RSS feeds.
Due to the expected up take of such a service I am expecting that taking advantage of cloud computing would be the way to do it, however with my lack of experience I do not know if it is possible to run a Windows service in the cloud.
There will be a web front end to this but it isn't imagined that that will have a heavy load as it will be just for sign up, then users will recevie notifications by SMS/Email
You can run a "service" in the cloud, when using Azure. It's called a "Worker Role" see the Architecture here.
If you're looking at running Windows Azure (which splits into a web role and worker role).
You'll have to sign up for an Azure key (The Bizspark pack includes one I believe) to get started, download the SDK and Azure tools.
It looks like you would only really need the web role for this, in which case it's just a normal ASP.NET / MVC site that you'd write as normal.
Essentially the benefit you'd get here would be being able to ramp up the number of server instances running your application by tweaking the config file.
The other option is the Amazon EC2 Cloud which allows you to instantiate as many instances of Windows2k3 Data Centre edition as you need. I run Windows Services, IIS, Postgresql etc. on such an instance with no issues.
Managed to find this link to publishing WCF services in the cloud. Im new to WCF so not sure if it will offer the solution I require, it probably will but I need to do some more research
Link

Resources