我正在尝试在我的个人网站上使用SpeechLib。这是一个非常简单的应用程序,可以将一些文本保存到wav文件 - 标准的东西。在开发机器上工作得很好。但是当我将它部署到共享主机时,一切都会崩溃。
有时在编写wav文件时会提示我输入用户名和密码。有时,我得到“安全例外”。该网站完全信任,我可以从我的应用程序编写一个简单的txt文件,没有任何问题。
在搜索互联网时,我意识到SpeechLib组件暂时将文件写入:
C:\Users\XX\AppData\Roaming\Microsoft\Speech\Files\UserLexicons
我在开发机上验证了这一点。确实如此。
所以,我的猜测是,在共享主机上,ASPNET没有权限写入该文件夹(?)。因此,我只是告诉我必须升级到虚拟专用服务器。我不确定他们是否知道他们在谈论什么。
是否有人让SpeechLib在共享主机上工作。这是我面临的完全相同的问题:
http://www.eukhost.com/forums/f41/interop-speechlib-dll-6743/
有什么想法吗?
答案 0 :(得分:2)
我不知道该产品,但我会搜索(或联系他们)一种方法来配置它以使用不同的临时目录。通过清除托管公司,您将更有可能得到您想要的东西。
我完全明白为什么他们会要你升级,但是(不仅仅是为了更多钱)。
在这种情况下,C:Users \ XX目录可能与共享主机中的每个人都是相同的目录,因为它将是Asp.Net运行的任何帐户的目录,而不是每个登录用户的目录。 / p>
在私人服务器或虚拟专用服务器中,您将是唯一一个在该环境中运行的服务器,因此您可以访问用户目录(仍然不是一个好主意)。
不知道这是否有帮助,但这就是我接近它的方式。
答案 1 :(得分:1)
基本上,写入磁盘的任何内容都需要获得许可才能这样做。
如果您的主机不允许您写入磁盘,则需要更改主机。