C# 带有SQL LINQ错误的CGI应用程序
我在windows home premium ISS服务器上运行C#CGI应用程序时遇到问题。 我的代码如下:C# 带有SQL LINQ错误的CGI应用程序,c#,.net,visual-studio-2010,cgi,C#,.net,Visual Studio 2010,Cgi,我在windows home premium ISS服务器上运行C#CGI应用程序时遇到问题。 我的代码如下: Console.Write("Content-Type: text/plain\n\n"); string conn = "Data Source=|C:\\DB|\\RegisteredUsers.sdf"; Console.WriteLine(conn); // Added for debugging Register
Console.Write("Content-Type: text/plain\n\n");
string conn = "Data Source=|C:\\DB|\\RegisteredUsers.sdf";
Console.WriteLine(conn); // Added for debugging
RegisteredUsers userdb = new RegisteredUsers(conn); //DBML file from SqlMetal Here
我得到的错误是:
Data Source=RegisteredUsers.sdf
Unhandled Exception: System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.ArgumentException: Illegal characters in path.
at System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
at System.AppDomainSetup.VerifyDir(String dir, Boolean normalize)
at System.AppDomainSetup.get_ConfigurationFile()
at System.Configuration.ClientConfigPaths..ctor(String exePath, Boolean includeUserConfig)
at System.Configuration.ClientConfigPaths.GetPaths(String exePath, Boolean includeUserConfig)
at System.Configuration.ClientConfigurationHost.GetStreamName(String configPath)
at System.Configuration.ClientConfigurationHost.get_IsAppConfigHttp()
at System.Configuration.ClientConfigurationSystem..ctor()
at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
--- End of inner exception stack trace ---
at System.Configuration.ConfigurationManager.EnsureConfigurationSystem()
at System.Configuration.ConfigurationManager.PrepareConfigSystem()
at System.Configuration.ConfigurationManager.GetSection(String sectionName)
at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
at System.Data.Common.DbProviderFactories.Initialize()
at System.Data.Common.DbProviderFactories.GetFactoryClasses()
at System.Data.Linq.SqlClient.SqlProvider.GetProvider(String providerName)
at Syst em.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Initialize(IData Services dataServices, Object connection)
at System.Data.Linq.DataContext.Init(Object connection, MappingSource mapping)
at System.Data.Linq.DataContext..ctor(String fileOrServerOrConnection, M appingSource mapping)
at Validate.Program.Main(String[] args)
似乎错误在字符串conn=@“Data Source=RegisteredUsers.sdf”中代码>或
RegisteredUsers userdb=新的RegisteredUsers(conn)我没有理由相信字符串定义不好,所以我认为它是正确的
RegisteredUsers userdb=新的RegisteredUsers(conn)代码>连接字符串不应是逐字字符串文字;只需删除@符号并用反斜杠转义任何反斜杠。仍然不起作用。同样的错误。该行现在是:string conn=“Data Source=RegisteredUsers.sdf”;我有没有提到,如果我只是从cmd启动EXE,它就可以正常工作?您好,没有,您没有提到,但是您也尝试过吗?string conn=“数据源=|数据目录| \\RegisteredUsers.sdf”;