因爲我考慮到使用WCF我認爲這將是最好的,只是遵循一個簡單的教程,讓我的腳溼。WCF異常:InvalidOperationException異常是未處理
3個小時後,我只有一個例外,以示對。它不會消失。
我排除了未被加載的app.config。 如果我將配置中的wsHttpBinding更改爲JHGHJGH,它會在運行時發生錯誤。 但是,當我更改合同界面的名稱,沒有給出錯誤(除了我在過去3小時所面對的同一個)
有沒有人有一個想法如何調試? 這種黑匣子錯誤的東西對我來說是非常令人厭惡的。
完全例外:
服務 'WCFtest.TestService' 具有零 應用程序(非基礎設施) 端點。這可能是因爲沒有 配置文件中找到了適合自己 的應用程序,或者是因爲沒有服務 元件匹配的服務名稱 可以在配置 文件中找到,或者因爲沒有終點的服務元素定義
(難道你不愛這些錯誤這表明任何的16分可能是錯的可能的事情)
我的Program.cs
ServiceHost host;
Type serviceType = typeof(TestService);
host = new ServiceHost(serviceType);
host.Open(); //<---- exception is thrown here
Console.ReadLine();
我的測試 'WCF服務'
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace WCFtest
{
[ServiceContract]
public interface ITest
{
[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);
}
public class TestService : ITest
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
return result;
}
etc... some methods are removed for brevity
}
}
我的app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<services>
<service name="WCFtest.testservice"
behaviorConfiguration="testservicebehaviour">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/test"/>
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
contract="WCFtest.ITest" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="testservicebehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
良好的漁獲物。我以爲servicename實際上是你給它的任何名字。但是你說它必須與實現該服務的類匹配。謝謝!令人驚訝的是,人們可以在此找到3個小時,而其他人在幾分鐘內就可以找到它 – Toad
適合每個人;)。下面是對它的解釋 - 「配置文件中指定的服務名稱屬性作爲相應ExchangeService.svc的查找鍵,它告訴主機環境該配置屬於哪個服務。」 [來源:http://msdn.microsoft.com/en-us/library/bb332338。aspx] – urig
雖然整個WPF體驗讓我有些害怕。表面上它只是在源代碼中添加一些屬性。但配置和來回發送的東西(我嗅到它)是複雜的,令人驚訝的。爲了與其他技術(如PHP)進行互操作,我甚至不敢碰它。 – Toad