Решение:
public DataSource getDefaultDataSource() throws SQLException {
OracleDataSource dataSource = new OracleDataSource();
dataSource.setUser(userName);
dataSource.setPassword(password);
dataSource.setURL(wallet);
Properties props = new Properties();
props.put("oracle.jdbc.autoCommitSpecCompliant", "false");
dataSource.setConnectionProperties(props );
return dataSource;
}
Я предпочитаю Web.Config для хранения текущей версии сайта.
Вы также можете попробовать создать файл AssemblyInfo.cs в корне веб-приложения, который имеет следующее:
using System.Reflection;
using System.Runtime.CompilerServices;
...
[assembly: AssemblyVersion("1.0.*")]
...
, а затем получить доступ к значению с помощью кода, подобного следующему:
System.Reflection.Assembly.GetExecutingAssembly()
Вот более информация в класс AssemblyInfo.
Некоторая информация здесь: http://www.velocityreviews.com/forums/showpost.php?p=487050&postcount=8
в asp.net 2.0 каждая страница построена в его собственную сборку, поэтому только dll AssemblyInfo.cs встроен в будет верните правильный ответ. просто добавьте статический метод для AssemblyInfo.cs, который возвращает информацию о версии и вызывает этот метод с других ваших страниц.
- bruce (sqlwork.com)
Но я написал простой метод для этого:
public static string GetSystemVersion(HttpServerUtility server)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(server.MapPath("~/web.config"));
System.Xml.XmlNamespaceManager ns = new System.Xml.XmlNamespaceManager(doc.NameTable);
ns.AddNamespace("bla", "http://schemas.microsoft.com/.NetConfiguration/v2.0");
System.Xml.XmlNode node = doc.SelectSingleNode("/bla:configuration/bla:system.web/bla:authentication/bla:forms[@name]", ns);
string projectName = "";
if (node != null && node.Attributes != null && node.Attributes.GetNamedItem("name") != null)
projectName = node.Attributes.GetNamedItem("name").Value; //in my case, that value is identical to the project name (projetname.dll)
else
return "";
Assembly assembly = Assembly.Load(projectName);
return assembly.GetName().Version.ToString();
}
Если вы ищете это из веб-элемента управления, один из способов взлома - найти тип страницы с выделенным кодом (т. Е. Класс, наследуемый от System.Web.UI.Page) . Обычно это делается в веб-сборке потребителя.
Type current, last;
current = Page.GetType();
do
{
last = current;
current = current.BaseType;
} while (current != null && current != typeof(System.Web.UI.Page));
return last;
Надеюсь, есть способ лучше.
Для добавления к уже отправленным респондентам. Чтобы получить версию для сборки в веб-приложении ASP.Net, вам нужно поместить в код за файлом метод, аналогичный:
protected string GetApplicationVersion() {
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
На странице ASPX вы хотите просто поместить:
<%= GetApplicationVersion() %>
Version version = new Version(Application.ProductVersion);
string message = version.ToString();