C# 使用webbrowser控件时,Webservice引发内部服务器错误

C# 使用webbrowser控件时,Webservice引发内部服务器错误,c#,web-services,browser,C#,Web Services,Browser,我有一个使用C#创建的web服务。出于某种原因,每当我调用公开的方法时,它似乎抛出500个内部服务器错误。我设置了一些断点,发现下面这行是什么意思: m_Browser = new WebBrowser(); 知道这条线路为什么会导致我的服务崩溃吗?WebBrowser控件位于System.Windows.Forms命名空间中 这可能是因为 只能使用WebBrowser类 在线程中设置为单线程 公寓(STA)模式。用这个 类,确保您的主方法是 用statThreadAttribute标记 属性

我有一个使用C#创建的web服务。出于某种原因,每当我调用公开的方法时,它似乎抛出500个内部服务器错误。我设置了一些断点,发现下面这行是什么意思:

m_Browser = new WebBrowser();

知道这条线路为什么会导致我的服务崩溃吗?WebBrowser控件位于System.Windows.Forms命名空间中

这可能是因为

只能使用WebBrowser类 在线程中设置为单线程 公寓(STA)模式。用这个 类,确保您的主方法是 用statThreadAttribute标记 属性

而a(MTA)。这篇文章还展示了一个可以用来在STA模式下运行web服务的黑客,但是这样做的性能可能会降低


显然,
WebBrowser
控件不是用于web服务,而是用于具有GUI的客户端应用程序。所以,通常当你试图在一个场景中使用某个东西,而这个东西并不是为之设计的时候,你需要付出代价。

这可能是因为

只能使用WebBrowser类 在线程中设置为单线程 公寓(STA)模式。用这个 类,确保您的主方法是 用statThreadAttribute标记 属性

而a(MTA)。这篇文章还展示了一个可以用来在STA模式下运行web服务的黑客,但是这样做的性能可能会降低

显然,
WebBrowser
控件不是用于web服务,而是用于具有GUI的客户端应用程序。所以,通常当你试图在一个场景中使用某个东西,而这个东西并不是为之而准备的,这是要付出代价的