×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

More details: source com+, Category(103), type: error, event Id 4772.

The COM+ Queued Components Player was unable to create an instance of a Queued Component. CPlayer BindToObject

Server Application ID: {70ED1A64-1953-4ECE-A39D-DA49F232813A}
Server Application Instance ID:
{5B189D6E-F3AA-4121-BD57-C1B8BD8D547F}
Server Application Name: AB.Component.Integration.QC
Error Code = 0x80070002 : The system cannot find the file specified.
COM+ Services Internals Information:
File: d:\nt\com\com1x\src\comsvcs\qc\player\player.cpp, Line: 453
Comsvcs.dll file version: ENU 2001.12.4414.46 shp

For more information, see Help and Support Center at
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / .NET 问题:我有一个Queued COM+, 我首先在一个Form button click里测试,可以得到预期结果。后从windows service里调用,Event Viewer里出现有错信息。详情请进:
    FORM 里面测试,源代码:

    Button_click()
    Dim serviceProcessor As IQC = GetObject("queue:/new:QC")
    serviceProcessor.Integrate(Year)
    Marshal.ReleaseComObject(serviceProcessor)
    serviceProcessor = Nothing
    end sub

    Windows Service, 源代码:

    Private Sub Timer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer.Elapsed

    Timer.Interval = 10000
    Timer.Enabled = False

    Dim Year As Integer = 2004

    Dim serviceProcessor As IQC = GetObject(_queueMoniker)

    serviceProcessor.Integrate(Year)
    Marshal.ReleaseComObject(serviceProcessor)
    serviceProcessor = Nothing


    Timer.Enabled = True

    End Sub

    当运行Windows Service, 错误信息如下:

    event Viewer--> Application
    Category Id=101, Event ID=4808

    An unexpected error was returned by the Message Queuing API MQSendMessage : A cryptographic function failed.
    • change your windows service Logon as user from LocalSystem to current logon user and try again
      • 谢谢你。这个queued com+的属性如下。我现在在一个domain里面,会不会因为我没有足够的权限?我用aspnet用户名logon,但是start service时,出错。
        <Assembly: ApplicationActivationAttribute(ActivationOption.Server)>
        <Assembly: ApplicationQueuingAttribute(Enabled:=True, QueueListenerEnabled:=True)>
        • 恐怕是我没有说清楚。
          首先,记住你在运行Form button click测试时登陆windows的用户,我估计应该是个domin user。然后control panel -->Administrative Tools-->Services ,找到你的windows service,点击鼠标右键,选properties。在properties里选logon tab,选中this account,点Browse..,找到那个用户并选中,输入该用户的密码。
          之后,重新运行该Service,再试试看。
          • Thanks. Although another error pops up, I think at least I am making some progress.
            • What error?
              • 因为我现在没法compile solution,因此用的是原来的windows service & queued com+,出现的错误信息见内:
                The com+ Queued Components Player was unable to create an instance of Queued Component. CPlayer BindToObject.
                Event ID: 4772

                我想明天重新compile,注册。。。。,看看结果如何。
                你觉得可能是什么方面的问题呢?我查到可能是因为版本的问题。

                谢谢你。
                • too limited infomation.
                  • More details: source com+, Category(103), type: error, event Id 4772.
                    The COM+ Queued Components Player was unable to create an instance of a Queued Component. CPlayer BindToObject

                    Server Application ID: {70ED1A64-1953-4ECE-A39D-DA49F232813A}
                    Server Application Instance ID:
                    {5B189D6E-F3AA-4121-BD57-C1B8BD8D547F}
                    Server Application Name: AB.Component.Integration.QC
                    Error Code = 0x80070002 : The system cannot find the file specified.
                    COM+ Services Internals Information:
                    File: d:\nt\com\com1x\src\comsvcs\qc\player\player.cpp, Line: 453
                    Comsvcs.dll file version: ENU 2001.12.4414.46 shp

                    For more information, see Help and Support Center at
                  • 谢谢,解决了问题,是因为版本问题。重新注册queued com+之后,可以正常运行了。
                    • nice to know