我有一个VS2005 Windows服务,根据MSDN的文档,我需要使用'useUnsafeHeaderParsing'。
由于这是我的Windows服务中使用的库,我没有web.config来添加httpwebrequest元素并将useUnsafeHeaderParsing设置为true。
答案 0 :(得分:4)
如果您愿意,可以通过编程方式启用unsafeHeaderParsing - 这是我在Quick and Dirty Feed Parser中包含的功能,用于打开它 - 它类似于您在问题中链接的一些功能:
private static bool SetUseUnsafeHeaderParsing(bool b)
{
Assembly a = Assembly.GetAssembly(typeof(System.Net.Configuration.SettingsSection));
if (a == null) return false;
Type t = a.GetType("System.Net.Configuration.SettingsSectionInternal");
if (t == null) return false;
object o = t.InvokeMember("Section",
BindingFlags.Static | BindingFlags.GetProperty | BindingFlags.NonPublic, null, null, new object[] { });
if (o == null) return false;
FieldInfo f = t.GetField("useUnsafeHeaderParsing", BindingFlags.NonPublic | BindingFlags.Instance);
if (f == null) return false;
f.SetValue(o, b);
return true;
}
我已经在生产代码中使用它,无论您部署在什么环境中,它都可以正常工作 - 只要可以通过GAC中的某些程序集访问System.Net.Configuration命名空间就可以了
答案 1 :(得分:0)
我不确定是什么问题。
您不使用带有Windows服务的web.config,而是使用App.config(当您编译并重命名为.config时,它会被移动到部署目录中
我已经在我的App.Config中使用了这个设置,用于Windows窗体应用程序,Web应用程序和许多Windows服务。