Я считаю, что вы предлагаете не работает. Я протестировал его, чтобы увидеть, что мой пользовательский класс blob не получает экземпляр.
В соответствии с приведенным ниже кодом атрибут @binaryServicesTypeName принимает только 4 предопределенных строковых значения : azure, azure2, файловая система, skydrive.
В противном случае устанавливается объект blob по умолчанию «SqlServerBinaryLargeObject».
/// <summary>
/// Gets or sets the type name of the class deriving from the BinaryLargeObject class.
/// Based on the 'typeName' Xml attributes from the configuration file.
/// The default is SqlServerBinaryLargeObject.
///
/// </summary>
///
/// <value>
/// The configured type name.
/// </value>
public virtual string TypeName
{
get
{
if (this._typeName == null)
{
string defaultValue = (string) null;
if (this._configuration.PersistenceHook != null)
defaultValue = this._configuration.PersistenceHook.BinaryLargeObjectTypeName;
if (string.IsNullOrEmpty(defaultValue))
defaultValue = typeof (SqlServerBinaryLargeObject).AssemblyQualifiedName;
this._typeName = XmlUtilities.GetAttribute((XmlNode) this.Element, "binaryServicesTypeName", defaultValue);
if (this._typeName == null)
this._typeName = XmlUtilities.GetAttribute((XmlNode) this.Element, "typeName", defaultValue);
if (this._typeName != null && string.Compare(this._typeName, "azure", StringComparison.OrdinalIgnoreCase) == 0)
this._typeName = "CodeFluent.Runtime.Azure.AzureBinaryLargeObject, CodeFluent.Runtime.Azure";
if (this._typeName != null && string.Compare(this._typeName, "azure2", StringComparison.OrdinalIgnoreCase) == 0)
this._typeName = "CodeFluent.Runtime.Azure.AzureBinaryLargeObject, CodeFluent.Runtime.Azure2";
if (this._typeName != null && string.Compare(this._typeName, "filesystem", StringComparison.OrdinalIgnoreCase) == 0)
this._typeName = typeof (FileSystemBinaryLargeObject).AssemblyQualifiedName;
if (this._typeName != null && string.Compare(this._typeName, "skydrive", StringComparison.OrdinalIgnoreCase) == 0)
this._typeName = typeof (SkyDriveBinaryLargeObject).AssemblyQualifiedName;
}
return this._typeName;
}
set
{
this._typeName = value;
}
}
другие идеи?
PS: здесь app.config демо-файл, используя сгенерированные схемы для выполнения codefluent
app.config