gpt4 book ai didi

asp.net - 在从 net.tcp 协议(protocol)连接到 WCF 的端点处监听的问题

转载 作者:行者123 更新时间:2023-12-03 20:07:01 24 4
gpt4 key购买 nike

这个奇怪的错误是在发布这篇文章的前一天出现的。以前它工作正常,但现在不行。

在重新启动系统的一个 Action 中,错误消失并且能够访问应用程序。

再次重新启动系统后,错误开始出现,但不知道根本原因。

启用的协议(protocol):net.tcp,http
我可以浏览下面的链接

  • http://localhost/TAServices/AuthenticationManager.svc
  • http://username.domainname.com/TAServices/AuthenticationManager.svc?wsdl
  • http://username.domainname.com/TAServices/AuthenticationManager.svc?singleWsdl

  • 这是导致异常的以下代码段
    objCheckUserLoginResponse = AuthenticationManagerClient.Check(objCheckUserLoginRequest, objCustomer);

    异常(exception):
    The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/TAServices/AuthenticationManager.svc' is unavailable for the protocol of the address. 
    System.ServiceModel.EndpointNotFoundException: The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/TAServices/AuthenticationManager.svc' is unavailable for the protocol of the address.

    Server stack trace:
    at System.ServiceModel.Channels.ConnectionUpgradeHelper.DecodeFramingFault(ClientFramingDecoder decoder, IConnection connection, Uri via, String contentType, TimeoutHelper& timeoutHelper)
    at System.ServiceModel.Channels.StreamedFramingRequestChannel.SendPreamble(IConnection connection, TimeoutHelper& timeoutHelper, ClientFramingDecoder decoder, SecurityMessageProperty& remoteSecurity)
    at System.ServiceModel.Channels.StreamedFramingRequestChannel.StreamedConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
    at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
    at System.ServiceModel.Channels.StreamedFramingRequestChannel.StreamedFramingRequest.SendRequest(Message message, TimeSpan timeout)
    at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
    at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
    at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
    at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at TA.ServiceProxy.AuthenticationManager.IAuthenticationManager.Check(CheckUserLoginRequest1 request)
    at TA.ServiceProxy.AuthenticationManager.AuthenticationManagerClient.TA.ServiceProxy.AuthenticationManager.IAuthenticationManager.Check(CheckUserLoginRequest1 request) in D:\2017_TFS\TestandAssessment\Dev\Manifest\TestPrepAdmin\ServiceProxy\Service References\AuthenticationManager\Reference.cs:line 3370
    at TA.ServiceProxy.AuthenticationManager.AuthenticationManagerClient.Check(CheckUserLoginRequest Request, Customer Customer) in D:\2017_TFS\TestandAssessment\Dev\Manifest\TestPrepAdmin\ServiceProxy\Service References\AuthenticationManager\Reference.cs:line 3377
    at TA.UIFrameWork.AuthenticationManagement.AuthenticateUser(CheckUserLoginRequest objCheckUserLoginRequest) in D:\2017_TFS\TestandAssessment\Dev\Manifest\TestPrepAdmin\UIFrameWork\Authentication\AuthenticationManagement.cs:line 19
    T: 2020-05-09 12:19:52,242 |L: INFO |TH: 8 |L: Utilities.PageBase |MSG:
    SessionID: Method: LoadLanguages
    Info: Page: Login.aspx Method: LoadLanguages Enters

    身份验证管理.cs
    using TA.ServiceProxy.AuthenticationManager;
    using System;

    namespace TA.UIFrameWork
    {
    public class AuthenticationManagement
    {
    public CheckUserLoginResponse AuthenticateUser(CheckUserLoginRequest objCheckUserLoginRequest)
    {
    Customer objCustomer;
    CheckUserLoginResponse objCheckUserLoginResponse = null;
    try
    {
    objCustomer = new Customer();
    objCustomer.CustomerName = "ABC";
    objCustomer.CultureInfo = "English";
    AuthenticationManagerClient AuthenticationManagerClient = new AuthenticationManagerClient();
    AuthenticationManagerClient.Open();
    objCheckUserLoginResponse = AuthenticationManagerClient.Check(objCheckUserLoginRequest, objCustomer);
    AuthenticationManagerClient.Close();
    AuthenticationManagerClient = null;
    objCustomer = null;
    objCheckUserLoginRequest = null;
    }
    catch (Exception ex)
    {
    LoggingFramework.log.Error(ex.Message, ex);
    }
    return objCheckUserLoginResponse;
    }
    }
    }
    }

    网络配置
    <?xml version="1.0"?>
    <configuration>
    <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data" />
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <section name="dns" type="System.Configuration.NameValueFileSectionHandler" />
    </configSections>
    <dataConfiguration defaultDatabase="LocalSqlServer" />
    <dns file="dns.config" />
    <system.web>
    <!-- Web Part -->
    <membership>
    <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" applicationName="/MVCFramework" />
    </providers>
    </membership>
    <profile enabled="true" defaultProvider="TableProfileProvider">
    <providers>
    <clear />
    <add name="TableProfileProvider" type="Microsoft.Samples.SqlTableProfileProvider" connectionStringName="LocalSqlServer" table="aspnet_Profile" applicationName="/MVCFramework" />
    </providers>
    </profile>
    <!-- End Web Part -->

    <pages validateRequest="false" enableEventValidation="false" enableViewStateMac="false" maintainScrollPositionOnPostBack="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
    <controls>
    <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit" />
    </controls>
    </pages>
    <customErrors mode="Off">
    <error statusCode="403" redirect="Status.aspx" />
    <error statusCode="404" redirect="Status.aspx" />
    </customErrors>
    <httpCookies httpOnlyCookies="true">
    </httpCookies>
    <trace enabled="false" localOnly="true">
    </trace>
    <httpRuntime maxRequestLength="2097151" executionTimeout="220000" requestValidationMode="2.0" />
    <!--
    Set compilation debug="false" to insert debugging
    symbols into the compiled page. Because this
    affects performance, set this value to true only
    during development.
    -->
    <compilation debug="true" defaultLanguage="c#" targetFramework="4.0">
    <assemblies>
    </assemblies>
    <buildProviders>
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </buildProviders>
    </compilation>
    <sessionState mode="InProc" timeout="6000" cookieless="UseCookies">
    </sessionState>
    <authorization>
    <allow users="?" />
    </authorization>

    <httpHandlers>
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
    <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
    </httpHandlers>
    </system.web>
    <system.net>
    <settings>
    <servicePointManager expect100Continue="false" />
    </settings>
    </system.net>
    <system.webServer>
    <security>
    <requestFiltering>
    <requestLimits maxAllowedContentLength="1024000000"></requestLimits>
    </requestFiltering>
    </security>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
    <remove name="ChartImageHandler" />
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </handlers>
    <modules>
    <add name="QueryStringValidation" type="Presentation.Utilities.QueryStringValidation" />
    </modules>
    </system.webServer>

    <system.data>
    <DbProviderFactories>
    <remove invariant="MySql.Data.MySqlClient" />
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
    </system.data>
    <system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding name="BasicHttpBinding_Framework" closeTimeout="00:50:00" openTimeout="00:50:00" receiveTimeout="00:50:00" sendTimeout="00:50:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="999999999" maxBufferPoolSize="524288" maxReceivedMessageSize="999999999" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
    <readerQuotas maxDepth="32" maxStringContentLength="999999999" maxArrayLength="999999999" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <security mode="None"/>
    </binding>
    </basicHttpBinding>
    <netTcpBinding>
    <binding name="NetTcpBinding_Framework" closeTimeout="00:50:00" openTimeout="00:50:00" receiveTimeout="00:50:00" sendTimeout="00:51:00" transactionFlow="false" transferMode="Streamed" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="999999999" maxBufferSize="999999999" maxConnections="10" maxReceivedMessageSize="999999999">
    <readerQuotas maxDepth="32" maxStringContentLength="999999999" maxArrayLength="999999999" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <reliableSession ordered="true" inactivityTimeout="00:50:00" enabled="false" />
    <security mode="None">
    <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
    <message clientCredentialType="Windows" />
    </security>
    </binding>
    </netTcpBinding>
    </bindings>
    <client>
    <endpoint address="net.tcp://localhost/TAServices/AccountManager.svc" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Framework" contract="AccountManager.IAccountManager" name="NetTcpBinding_Framework" />
    </client>
    <behaviors>
    <endpointBehaviors>
    <behavior name="ClientBehavior">
    <dataContractSerializer maxItemsInObjectGraph="10000000" />
    </behavior>
    </endpointBehaviors>
    </behaviors>
    </system.serviceModel>
    <location path="Common">
    <system.web>
    <authorization>
    <allow users="?" />
    </authorization>
    </system.web>
    </location>
    <system.web.extensions>
    <scripting>
    <webServices>
    <jsonSerialization maxJsonLength="5000000" />
    </webServices>
    </scripting>
    </system.web.extensions>
    </configuration>

    在不知道原因的情况下,我什么也做不了。
    请建议解决 EndpointNotFoundException向代码或从 Windows 10 (1903) 发出 wrt

    最佳答案

    我通过发布 OneApp.IGCC.WinService.exe 解决了这个问题占用了808端口英特尔® 显卡驱动程序更新启动后。但这听起来很奇怪,所以检查是否SMSvcHost.exe正在上市 808港口。

    C:\Windows\system32>netstat -ano | find "808"
    TCP 0.0.0.0:808 0.0.0.0:0 LISTENING 4356
    TCP [::]:808 [::]:0 LISTENING 4356

    C:\Windows\system32>tasklist | find "5156"
    SMSvcHost.exe 5156 Services 0 5,604 K
    如果您发现该进程名称不是 SMSvcHost.exe列出如 OneApp.IGCC.WinService.ex或使用其他名称,然后继续执行这些步骤,否则在此停止。
    所以在我的情况下,按名称处理 OneApp.IGCC.WinService.ex已占用端口 808具有唯一进程 ID 为 5068执行命令 TASKKILL /F /PID <ProcessId>从提升的提示。
    C:\Windows\system32>netstat -ano | find "808"
    TCP 0.0.0.0:808 0.0.0.0:0 LISTENING 5068
    TCP [::]:808 [::]:0 LISTENING 5068

    C:\Windows\system32>tasklist | find "5068"
    OneApp.IGCC.WinService.ex 5068 Services 0 36,632 K

    C:\Windows\system32>taskkill /F /PID 5068
    SUCCESS: The process with PID 5068 has been terminated.

    C:\Windows\system32>netstat -ano | find "808"


    C:\Windows\system32>
    然后重启 Net.Tcp Port Sharing Service来自 services.msc即使在重新启动系统后 OneApp.IGCC.WinService.exe将覆盖 SMSvcHost.exe通过收听 808港口。所以禁用 Intel(R) Graphics Command Center Service (C:\Windows\System32\DriverStore\FileRepository\igcc_dch.inf_amd64_26b207b939eae50e)的运行来自 services.msc

    关于asp.net - 在从 net.tcp 协议(protocol)连接到 WCF 的端点处监听的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61694720/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com