-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();
}
}
而我的問題是如何在上面的代碼中使用app.config信息,還是自動使用? – 2010-10-04 16:08:56
@Andrew White:如果你把配置放在正確的位置,WCF將從那裏讀取 - 完全自動化。 – 2010-10-04 16:17:22