ASP.NET Web应用程序-部署时,System.Speech.dll对象未设置为对象的实例

尼克纳克

我有一个使用System.Speech将文本转换为WAV文件的ASP.NET Web应用程序。它在本地运行良好,但是当我将其部署到服务器时,出现以下错误消息。这使用的是Windows Server 2012,ASP.NET 4.5和IIS 8.5:

Object reference not set to an instance of an object.
System.Speech
   at System.Speech.Internal.ObjectTokens.RegistryDataKey..ctor(String fullPath, RegistryDataKey copyKey)
   at System.Speech.Internal.ObjectTokens.SAPICategories.DefaultDeviceOut()
   at System.Speech.Internal.Synthesis.VoiceSynthesis..ctor(WeakReference speechSynthesizer)
   at System.Speech.Synthesis.SpeechSynthesizer.get_VoiceSynthesizer()
   at QuinnSDS.handlerTransform.<>c__DisplayClass6.<ProcessRequest>b__1()

生成此错误消息的代码在服务器上运行:

if (context.Request.ContentLength > 0)
{
    string line = new StreamReader(context.Request.InputStream).ReadToEnd();
    // *********  generate wav file voicing the response *****************
    // Using Microsoft voices
    // initiate new instance of speech synthesizer
    Thread t = new Thread(() =>
    {
        try
        {
            // The object creation works fine
            System.Speech.Synthesis.SpeechSynthesizer synth = new System.Speech.Synthesis.SpeechSynthesizer();  
            if (synth != null)
            {
                // The code breaks at synth.GetInstalledVoices() below. It will break any time I try to do anything with the synth object
                foreach (System.Speech.Synthesis.InstalledVoice voice in synth.GetInstalledVoices())  
                {
                                    System.Speech.Synthesis.VoiceInfo info = voice.VoiceInfo;
                                    string voiceName = info.Name;
                                    ws.WriteLine(voiceName);
                 }
             }
         }
         catch (Exception e)
         {
             ws.WriteLine(e.Message);
             ws.WriteLine(e.Source);
             ws.WriteLine(e.StackTrace);
         }
         //... code continues...

创建语音合成对象时,它不会中断;每当我尝试以任何方式使用该对象时,它都会中断。

我不确定这是否是访问问题,但是我对ASP.NET和IIS还是很陌生,我无法弄清楚如何使Web应用程序可以访问GAC,或者即使这就是问题所在。在部署应用程序之前,我曾尝试在Visual Studio中将System.Speech引用的属性Local Copy更改为True,但是这没有用。我在线搜索,虽然“对象引用未设置为对象的实例”似乎很常见,但是由于.NET Framework类库,我找不到任何类似的问题...我已经运行了文本到服务器上本地的语音代码,并且运行良好。我尚未在服务器上本地运行整个应用程序,因为Web应用程序需要语音输入,并且服务器上没有麦克风。

任何尝试的想法都将受到欢迎!

ScheuNZ

从ASP.NET执行时,代码在哪个用户帐户下运行?如果语音API像调用堆栈所建议的那样接触注册表,则它可能具有与您用来手动运行代码的帐户不同的权限。

如果您不能仅使用登录计算机时使用的帐户来使站点的应用程序池运行,我在使用Process Monitor来解决此类问题之前就已经取得了一些成功基本上,执行Process Monitor运行时失败的代码,然后在“结果”列中查找“访问权限已拒绝”(或其他可疑内容)。但是,快速切换应用程序池以使用您的标准用户帐户将是排除安全性或权限相关问题的最快方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

asp.net编译时错误-对象引用未设置为对象的实例

来自分类Dev

Asp.net-对象引用未设置为对象的实例

来自分类Dev

对象未设置为asp.net中的实例

来自分类Dev

部署ASP.NET Web应用程序的最佳方法

来自分类Dev

如何部署ASP.net Web应用程序

来自分类Dev

当我尝试在asp.net Detailsview中添加一个值时,出现“对象引用未设置为对象实例”

来自分类Dev

Facebook登录Asp.net Mvc对象引用未设置为对象的实例

来自分类Dev

'ASP.NET Identity 2.0 RoleManager.Roles'对象引用未设置为对象的实例。

来自分类Dev

ASP.NET/VB读取/写入Cookie-对象未设置为对象的实例

来自分类Dev

ASP.NET MVC | DropDownListFor给出错误的对象引用未设置为对象的实例

来自分类Dev

在ASP.NET中的SQL命令中,对象引用未设置为对象的实例

来自分类Dev

MVC6 / ASP.net ViewModel问题(对象引用未设置为对象的实例)

来自分类Dev

已发布的Web应用程序部署中的部分ASP.NET WEB

来自分类Dev

部署asp net core web应用程序后找不到Web API 404

来自分类Dev

VB.NET ASP.NET Web应用程序。准备部署的建议

来自分类Dev

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

来自分类Dev

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

来自分类Dev

如何检查IIS内部署的asp.net mvc Web应用程序的日志

来自分类Dev

ASP.NET Web应用程序部署方法最佳实践

来自分类Dev

使用EF数据库优先应用程序部署ASP.NET Web API

来自分类Dev

部署后ASP.NET Web应用程序不会卸载AppDomain

来自分类Dev

将ASP.NET MVC Web应用程序部署到heroku

来自分类Dev

TFS 2013内部版本未部署ASP.NET Web应用程序

来自分类Dev

ASP.NET Web应用程序部署方法最佳实践

来自分类Dev

如何检查IIS内部署的asp.net mvc Web应用程序的日志

来自分类Dev

在Office本地主机上部署MVC ASP .Net Web应用程序

来自分类Dev

使用发布管道将 Asp.net 核心 Web 应用程序部署到 azure vm

来自分类Dev

应用onPage过滤器时,对象引用未设置为对象的实例

来自分类Dev

如何从Asp.Net MVC Web应用程序中的FileStremResult对象获取文件?

Related 相关文章

  1. 1

    asp.net编译时错误-对象引用未设置为对象的实例

  2. 2

    Asp.net-对象引用未设置为对象的实例

  3. 3

    对象未设置为asp.net中的实例

  4. 4

    部署ASP.NET Web应用程序的最佳方法

  5. 5

    如何部署ASP.net Web应用程序

  6. 6

    当我尝试在asp.net Detailsview中添加一个值时,出现“对象引用未设置为对象实例”

  7. 7

    Facebook登录Asp.net Mvc对象引用未设置为对象的实例

  8. 8

    'ASP.NET Identity 2.0 RoleManager.Roles'对象引用未设置为对象的实例。

  9. 9

    ASP.NET/VB读取/写入Cookie-对象未设置为对象的实例

  10. 10

    ASP.NET MVC | DropDownListFor给出错误的对象引用未设置为对象的实例

  11. 11

    在ASP.NET中的SQL命令中,对象引用未设置为对象的实例

  12. 12

    MVC6 / ASP.net ViewModel问题(对象引用未设置为对象的实例)

  13. 13

    已发布的Web应用程序部署中的部分ASP.NET WEB

  14. 14

    部署asp net core web应用程序后找不到Web API 404

  15. 15

    VB.NET ASP.NET Web应用程序。准备部署的建议

  16. 16

    如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

  17. 17

    如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

  18. 18

    如何检查IIS内部署的asp.net mvc Web应用程序的日志

  19. 19

    ASP.NET Web应用程序部署方法最佳实践

  20. 20

    使用EF数据库优先应用程序部署ASP.NET Web API

  21. 21

    部署后ASP.NET Web应用程序不会卸载AppDomain

  22. 22

    将ASP.NET MVC Web应用程序部署到heroku

  23. 23

    TFS 2013内部版本未部署ASP.NET Web应用程序

  24. 24

    ASP.NET Web应用程序部署方法最佳实践

  25. 25

    如何检查IIS内部署的asp.net mvc Web应用程序的日志

  26. 26

    在Office本地主机上部署MVC ASP .Net Web应用程序

  27. 27

    使用发布管道将 Asp.net 核心 Web 应用程序部署到 azure vm

  28. 28

    应用onPage过滤器时,对象引用未设置为对象的实例

  29. 29

    如何从Asp.Net MVC Web应用程序中的FileStremResult对象获取文件?

热门标签

归档