2010-10-04 85 views
-1

我有一個簡單的自己託管的 WCF控制檯窗口應用程序,我可以很好地連接到我的客戶端。 雖然通過發送大型XML字符串到服務器,但我有一個問題。我得到以下錯誤:在自行託管的c#WCF控制檯應用程序中使用web.config

「System.Xml.XmlException:最大字符串內容長度配額(8192),而讀取XML數據已經超過了這個限額可通過更改XmlDictionaryReaderQuotas的MaxStringContentLength財產增加。 ..」

我可以通過改變它的app.config文件(由svcutil.exe的生成)設置MaxStringContentLength客戶

但在服務器端我無處可以改變這一點。我已經閱讀了關於web.config文件,我不確定WCF控制檯應用程序是否可以有一個,如果可以,我如何讀取它並使用它?我的自我託管代碼如下:

static void RunWCFService() 
{ 
    // Step 1 of the address configuration procedure: Create a URI to serve as the base address. 
    Uri baseAddress = new Uri("http://localhost:8000/MyService/WcfService"); 

    // Step 2 of the hosting procedure: Create ServiceHost 
    ServiceHost selfHost = new ServiceHost(typeof(MyServiceWcf), baseAddress); 
    try 
    { 
     // Step 3 of the hosting procedure: Add a service endpoint. 
     selfHost.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "MyService"); 

     // Step 4 of the hosting procedure: Enable metadata exchange. 
     ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 
     smb.HttpGetEnabled = true; 
     selfHost.Description.Behaviors.Add(smb);     

     // Step 5 of the hosting procedure: Start (and then stop) the service. 
     selfHost.Open(); 
     Console.WriteLine("Press <ENTER> to terminate service.");  
     Console.ReadLine(); 
     // Close the ServiceHostBase to shutdown the service. 
     selfHost.Close(); 
    } 
    catch (CommunicationException ce) 
    { 
     Console.WriteLine("An exception occurred: {0}", ce.Message); 
     selfHost.Abort(); 
    } 
} 

回答

3

的WCF配置數據都會在做託管的exe的app.config

+3

而我的問題是如何在上面的代碼中使用app.config信息,還是自動使用? – 2010-10-04 16:08:56

+0

@Andrew White:如果你把配置放在正確的位置,WCF將從那裏讀取 - 完全自動化。 – 2010-10-04 16:17:22

相關問題